-
Notifications
You must be signed in to change notification settings - Fork 0
/
mips_raptor_netgear.ecc
14976 lines (13617 loc) · 483 KB
/
mips_raptor_netgear.ecc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# 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 bcm953710 ;
template net ;
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_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_FREEBSD_STACK v2_0 ;
package -template CYGPKG_IO_ETH_DRIVERS v2_0 ;
package -hardware CYGPKG_HAL_MIPS v2_0 ;
package -hardware CYGPKG_HAL_MIPS_BCM47xx v2_0 ;
package -hardware CYGPKG_HAL_MIPS_BCM953710 v2_0 ;
package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v2_0 ;
package -hardware CYGPKG_IO_SERIAL_MIPS_BCM947xx v2_0 ;
package -hardware CYGPKG_IO_FLASH v2_0 ;
package -hardware CYGPKG_DEVS_FLASH_MIPS_BCM947xx v2_0 ;
package CYGPKG_FS_RAM v2_0 ;
package CYGPKG_CRC v2_0 ;
};
# ---- conflicts -------------------------------------------------------
# There are no conflicts.
# ---- contents --------------------------------------------------------
# >
# >
# Redboot for MIPS options
# This option lists the target's requirements for a valid Redboot
# configuration.
#
cdl_component CYGPKG_REDBOOT_MIPS_OPTIONS {
# This option is not active
# ActiveIf constraint: CYGPKG_REDBOOT
# CYGPKG_REDBOOT (unknown) == 0
# --> 0
# There is no associated value.
};
# >
# Support booting Linux via RedBoot
# This option allows RedBoot to support booting of a Linux kernel.
#
cdl_component CYGSEM_REDBOOT_MIPS_LINUX_BOOT {
# This option is not active
# The parent CYGPKG_REDBOOT_MIPS_OPTIONS is not active
# ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
# CYGBLD_BUILD_REDBOOT_WITH_EXEC (unknown) == 0
# --> 0
# Flavor: bool
# No user value, uncomment the following line to provide one.
# user_value 1
# value_source default
# Default value: 1
};
# >
# Default kernel entry address
#
cdl_option CYGDAT_REDBOOT_MIPS_LINUX_BOOT_ENTRY {
# This option is not active
# The parent CYGSEM_REDBOOT_MIPS_LINUX_BOOT is not active
# Flavor: data
# No user value, uncomment the following line to provide one.
# user_value 0x80100750
# value_source default
# Default value: 0x80100750
};
# Default argv address
#
cdl_option CYGDAT_REDBOOT_MIPS_LINUX_BOOT_ARGV_ADDR {
# This option is not active
# The parent CYGSEM_REDBOOT_MIPS_LINUX_BOOT is not active
# Flavor: data
# No user value, uncomment the following line to provide one.
# user_value 0x80080000
# value_source default
# Default value: 0x80080000
};
# Default COMMAND_LINE
#
cdl_option CYGDAT_REDBOOT_MIPS_LINUX_BOOT_COMMAND_LINE {
# This option is not active
# The parent CYGSEM_REDBOOT_MIPS_LINUX_BOOT is not active
# Flavor: data
# No user value, uncomment the following line to provide one.
# user_value ""
# value_source default
# Default value: ""
};
# <
# <
# 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 mipsisa32-elf
# value_source default
# Default value: mipsisa32-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 "-mips32 -g -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -EB -O2 -g -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -fno-builtin -G0 -DRAM_SIZE=0x4000000"
# value_source user
# Default value: "-mips32 -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -EB -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -fno-builtin -G0"
# 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
user_value "-mips32 -EB -nostdlib -Wl,--gc-sections -Wl,-static"
# value_source user
# Default value: "-mips32 -EB -nostdlib -Wl,--gc-sections -Wl,-static"
};
# 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
};
# 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"
# CYG_HAL_STARTUP == RAM
# CYG_HAL_STARTUP == RAM
# --> 0
# Requires: CYGSEM_HAL_ROM_MONITOR
# CYGSEM_HAL_ROM_MONITOR == 0
# --> 0
# 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
# --> 1
# Requires: ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
# CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
# --> 0
# Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
# CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1
# --> 0
# Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
# CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1
# --> 0
};
# <
# CygMon HAL options
# This option also lists the target's requirements for a valid CygMon
# configuration.
#
cdl_component CYGPKG_CYGMON_HAL_OPTIONS {
# This option is not active
# ActiveIf constraint: CYGPKG_CYGMON
# CYGPKG_CYGMON (unknown) == 0
# --> 0
# There is no associated value.
};
# >
# Build CygMon ROM binary image
# This option enables the conversion of the CygMon ELF
# image to a binary image suitable for ROM programming.
#
cdl_option CYGBLD_BUILD_CYGMON_BIN {
# This option is not active
# The parent CYGPKG_CYGMON_HAL_OPTIONS is not active
# ActiveIf constraint: CYGBLD_BUILD_CYGMON
# CYGBLD_BUILD_CYGMON (unknown) == 0
# --> 0
# Flavor: bool
# No user value, uncomment the following line to provide one.
# user_value 1
# value_source default
# Default value: 1
};
# <
# Redboot HAL options
# This option lists the target's requirements for a valid Redboot
# configuration.
#
cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
# This option is not active
# ActiveIf constraint: CYGPKG_REDBOOT
# CYGPKG_REDBOOT (unknown) == 0
# --> 0
# 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 {
# This option is not active
# The parent CYGPKG_REDBOOT_HAL_OPTIONS is not active
# ActiveIf constraint: CYGBLD_BUILD_REDBOOT
# CYGBLD_BUILD_REDBOOT (unknown) == 0
# --> 0
# Flavor: bool
# No user value, uncomment the following line to provide one.
# user_value 1
# value_source default
# Default value: 1
};
# <
# <
# 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 v2_0
# Requires: CYGPKG_INFRA
# CYGPKG_INFRA == v2_0
# --> 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 1
# value_source default
# Default value: CYGPKG_KERNEL
# CYGPKG_KERNEL == v2_0
# --> 1
# Requires: CYGPKG_KERNEL
# CYGPKG_KERNEL == v2_0
# --> 1
};
# 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 1
# value_source default
# Default value: CYGPKG_KERNEL_EXCEPTIONS
# CYGPKG_KERNEL_EXCEPTIONS == 1
# --> 1
# Requires: CYGPKG_KERNEL_EXCEPTIONS
# CYGPKG_KERNEL_EXCEPTIONS == 1
# --> 1
# The following properties are affected by this value
# component CYGPKG_KERNEL_EXCEPTIONS
# Requires: CYGPKG_HAL_EXCEPTIONS
};
# 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 == 0
# --> 0
# The following properties are affected by this value
# option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
# Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
};
# 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 0
# value_source default
# Default value: CYG_HAL_STARTUP != "RAM"
# CYG_HAL_STARTUP == RAM
# --> 0
# 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 (unknown) == 0
# 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 == 0
# CYG_HAL_STARTUP == RAM
# --> 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
user_value None
# value_source user
# 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 32768
# value_source user
# Default value: CYGPKG_KERNEL ? 4096 : 32768
# CYGPKG_KERNEL == v2_0
# --> 4096
# 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
# 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_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
# The following properties are affected by this value
# option CYGIMP_KERNEL_INTERRUPTS_CHAIN
# Requires: CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN
};
# 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
# value_source default
# Default value: 1
# The following properties are affected by this value
# 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_MIPS_BCM953710, 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
};
# 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
# value_source default
# 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 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_MIPS_BCM953710, 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 CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT
# Calculated: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || 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
# option CYGDBG_HAL_MIPS_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 CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT
# Calculated: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_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 == 0
# CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT == 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 CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
# 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
};
# <
# 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_MIPS_BCM953710, active, enabled