Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2875 dpurdie 1
;; ARMulator configuration file
2
;; Copyright (c) 1996-1998 ARM Limited. All Rights Reserved.
3
 
4
;; RCS $Revision: 1.77.4.4 $
5
;; Checkin $Date: 1999/12/21 18:42:02 $
6
;; Revising $Author: mwilliam $
7
 
8
;;
9
;; This is the configuration file for ARMulator 2.0
10
;;
11
 
12
;; Comment this out for benchmarking
13
; For the moment we assume that if no clock speed has been set on the
14
; command-line, the user wishes to use a wall-clock for timing
15
#if !CPUSPEED
16
Clock=Real
17
#endif
18
 
19
 
20
;; This line controls whether (some) models give more useful descriptions
21
;; of what they are on startup, and during running.
22
Verbose=False
23
 
24
;; To get the full validation environment, we set Validate to one of
25
;; "OS" or "CP".  The former installs itself as an OS model, whiile
26
;; the latter simply registers the validation coprocessors.
27
;Validate=OS
28
;Validate=CP
29
 
30
;; To enable faster watchpoints, set "WatchPoints"
31
;Watchpoints
32
 
33
;; ARMulator comes up with the cache and MMU enabled, when using a
34
;; cached Processor. To disable this, set 'UsePageTables' to 'False'.
35
UsePageTables=True
36
 
37
 
38
#if Validate && Validate==OS
39
 
40
OS=ValidateOS
41
 
42
#else
43
 
44
;; The default operating-system is Angel - this can be changed to Demon
45
;; if desired
46
#if OSMODEL_Angel
47
OS=Angel
48
#else
49
OS=Demon
50
#endif
51
 
52
#endif
53
 
54
;; Operating system (Demon or Angel) configuration
55
 
56
#if OS==Angel || OS==Demon
57
 
58
{ OS
59
 
60
;; Angel configuration
61
 
62
;; SWIs to use for Angel
63
AngelSWIARM=0x123456
64
AngelSWIThumb=0xab
65
 
66
#if PIE
67
HeapBase=0x00050000
68
HeapLimit=0x00060000
69
StackBase=0x00080000
70
StackLimit=0x0078000
71
#elif PID7T
72
HeapBase=0x02069000
73
HeapLimit=0x02079000
74
StackBase=0x02080000
75
StackLimit=0x02079000
76
#else
77
HeapBase=0x40000000
78
HeapLimit=0x70000000
79
StackBase=0x80000000
80
StackLimit=0x70000000
81
#endif
82
 
83
 
84
#if !FPE || FPE==FALSE
85
;; If you want to be able to run demon programs (for backwards
86
;; compatability) set this to "Yes"
87
Demon=No
88
FPE=No
89
#else
90
Demon=Yes
91
#endif
92
 
93
;; Demon configuration
94
 
95
;; Configure the locations of stacks, etc.
96
AddrSuperStack=0xa00
97
AddrAbortStack=0x800
98
AddrUndefStack=0x700
99
AddrIRQStack=0x500
100
AddrFIQStack=0x400
101
 
102
;; The default location of the user mode stack
103
AddrUserStack=0x80000
104
 
105
;; Start of the "soft vector" code
106
AddrSoftVectors=0xa40
107
 
108
;; Where to place a copy of the command line
109
AddrCmdLine=0xf00
110
 
111
;; Address and workspace for installed handlers
112
AddrsOfHandlers=0xad0
113
 
114
;; Default handlers
115
SoftVectorCode=0xb80
116
}
117
#endif
118
 
119
; Whether to have a "-proc StrongARM" option
120
NoStrongARM=False
121
 
122
;;
123
;; This is the list of all processors supported by ARMulator.
124
;;
125
 
126
{ Processors
127
 
128
Default=ARM7TDMI
129
 
130
;; Entries are of the form:
131
;
132
; { <processor-name>
133
; ... features ...
134
; ... variants ...
135
; }
136
;
137
;; or
138
;
139
; <processor-variant>=<processor-name>
140
;
141
;; In the latter case, the "variant" must appear in the variants list
142
;; for the named processor.
143
 
144
 
145
;; The "BASIC" RDI model provides models of the ARM2/ARM6/ARM7 and ARM8
146
;; families.
147
#if RDI_BASIC
148
 
149
;; ARM2 family
150
 
151
{ ARM2
152
;; Features:
153
Processor=ARM2
154
Core=ARM2
155
ARMulator=BASIC
156
Architecture=2
157
 
158
;; Variants:
159
ARM2aS:Processor=ARM2aS
160
 
161
ARM61:Processor=ARM61
162
 
163
ARM3:Processor=ARM3
164
ARM3:Architecture=2a
165
 
166
ARM3:Memory=Default
167
}
168
 
169
ARM2aS=ARM2
170
ARM61=ARM2
171
#if MEMORY_MMUlator
172
ARM3=ARM2
173
#endif
174
 
175
;; ARM6 family
176
 
177
{ ARM6
178
;; Features:
179
Processor=ARM6
180
Core=ARM6
181
ARMulator=BASIC
182
Architecture=3
183
 
184
;; Variants:
185
ARM60:Processor=ARM60
186
 
187
;; Cached variants
188
ARM600:Processor=ARM600
189
ARM610:Processor=ARM610
190
 
191
ARM600:Memory=ARM600
192
ARM610:Memory=ARM610
193
}
194
 
195
ARM60=ARM6
196
#if MEMORY_MMUlator
197
ARM600=ARM6
198
ARM610=ARM6
199
#endif
200
 
201
;; ARM7 family
202
 
203
{ ARM7
204
;; Features:
205
Processor=ARM7
206
Core=ARM7
207
ARMulator=BASIC
208
Architecture=3
209
Nexec
210
LateAborts
211
SubPage
212
 
213
;; Variants:
214
ARM70:Processor=ARM70
215
 
216
;; Cached variants
217
ARM700:Processor=ARM700
218
ARM704:Processor=ARM704
219
ARM710a:Processor=ARM710a
220
ARM710:Processor=ARM710
221
 
222
ARM700:Memory=ARM700
223
ARM704:Memory=ARM704
224
ARM710a:Memory=ARM710a
225
ARM710:Memory=ARM710
226
}
227
 
228
ARM70=ARM7
229
#if MEMORY_MMUlator
230
ARM700=ARM7
231
ARM704=ARM7
232
ARM710=ARM7
233
ARM710a=ARM7
234
#endif
235
 
236
;; ARM7D family - ARM7D and ARM70D
237
 
238
{ ARM7D
239
;; Features
240
Processor=ARM7D
241
Core=ARM7
242
ARMulator=BASIC
243
Architecture=3
244
Nexec
245
LateAborts
246
Debug
247
 
248
ARM70D:Processor=ARM70D
249
ARM70D:Debug
250
 
251
;; ARM7DM families
252
ARM7DM:Processor=ARM7DM
253
ARM7DM:Architecture=3M
254
 
255
ARM70DM:Processor=ARM70DM
256
ARM70DM:Architecture=3M
257
 
258
}
259
 
260
ARM70D=ARM7D
261
ARM7DM=ARM7D
262
ARM70DM=ARM7D
263
 
264
;; Thumb family
265
 
266
{ ARM7TDM
267
;; Features
268
Processor=ARM7TDM
269
Core=ARM7
270
ARMulator=BASIC
271
Architecture=4T
272
Nexec
273
LateAborts
274
Debug
275
 
276
ARM7TDMI:Processor=ARM7TDMI
277
ARM7TM:Processor=ARM7TM
278
 
279
;; Cached variants
280
ARM710T:Processor=ARM710T
281
ARM710T:Memory=ARM710T
282
 
283
ARM720T:Processor=ARM720T
284
ARM720T:Memory=ARM720T
285
ARM720T:HighExceptionVectors
286
 
287
ARM740T:Processor=ARM740T
288
ARM740T:Memory=ARM740T
289
}
290
 
291
ARM7TM=ARM7TDM
292
ARM7TDMI=ARM7TDM
293
#if MEMORY_MMUlator
294
ARM710T=ARM7TDM
295
ARM720T=ARM7TDM
296
ARM740T=ARM7TDM
297
#endif
298
 
299
;; Synthesisable ARM family
300
 
301
{ ARM7TM-S
302
;; Features
303
Processor=ARM7TM-S
304
Core=ARM7
305
ARMulator=BASIC
306
Architecture=4T
307
Nexec
308
LateAborts
309
Debug
310
 
311
ARM7TDMI-S:Processor=ARM7TDMI-S
312
 
313
; Options - no long multipliers
314
 
315
ARM7T-S:Architecture=4TxM
316
ARM7T-S:Processor=ARM7T-S
317
ARM7T-S:EarlySignedMultiply=True
318
 
319
ARM7TDI-S:Architecture=4TxM
320
ARM7TDI-S:Processor=ARM7TDI-S
321
ARM7TDI-S:EarlySignedMultiply=True
322
 
323
}
324
 
325
ARM7T-S=ARM7TM-S
326
ARM7TDI-S=ARM7TM-S
327
ARM7TDMI-S=ARM7TM-S
328
 
329
;; ARM8 family
330
 
331
{ ARM8
332
;; Features:
333
Processor=ARM8
334
Core=ARM8
335
ARMulator=BASIC
336
Architecture=4
337
Nexec
338
MultipleEarlyAborts
339
AbortsStopMultiple
340
Prefetch
341
HasBranchPrediction
342
NoLDCSTC
343
 
344
;; Variants:
345
ARM810:Processor=ARM810
346
 
347
ARM810:Memory=ARM810
348
}
349
 
350
#if MEMORY_MMUlator
351
ARM810=ARM8
352
#endif
353
#endif
354
 
355
 
356
;; The "STRONG" RDI interface provides models of the StrongARM1 family.
357
#if RDI_STRONG
358
 
359
;; StrongARM family
360
 
361
#if NoStrongARM==FALSE
362
{ StrongARM
363
;; Features:
364
Processor=StrongARM
365
Core=StrongARM
366
ARMulator=STRONG
367
Architecture=4
368
Nexec
369
MultipleEarlyAborts
370
AbortsStopMultiple
371
StrongARMAware
372
NoLDCSTC
373
NoCDP
374
 
375
;; Variants:
376
SA-110:Processor=SA-110
377
 
378
SA-110:Memory=SA-110
379
}
380
 
381
#if MEMORY_StrongMMU
382
SA-110=StrongARM
383
#endif
384
 
385
#else
386
 
387
{ SA-110
388
;; Features:
389
Processor=SA-110
390
Core=StrongARM
391
ARMulator=STRONG
392
Architecture=4
393
Nexec
394
MultipleEarlyAborts
395
AbortsStopMultiple
396
StrongARMAware
397
NoLDCSTC
398
NoCDP
399
Processor=SA-110
400
Memory=SA-110
401
}
402
#endif
403
#endif
404
 
405
 
406
;; ARM9 family
407
 
408
{ ARM9TDMI
409
;; Features:
410
Processor=ARM9TDMI
411
Core=ARM9
412
ARMulator=ARM9ulator
413
Architecture=4T
414
Nexec
415
MultipleEarlyAborts
416
AbortsStopMultiple
417
CoreCycles
418
HighExceptionVectors
419
;;StrongARMAware
420
;;NoLDCSTC
421
;;NoCDP
422
 
423
;; Variants:
424
{ ARM940T
425
Processor=ARM940T
426
Memory=ARM940T
427
}
428
{ ARM920T
429
Processor=ARM920T
430
Memory=ARM920T
431
}
432
}
433
#if MEMORY_ARM940CacheMPU
434
ARM940T=ARM9TDMI
435
#endif
436
#if MEMORY_ARM920CacheMMU
437
ARM920T=ARM9TDMI
438
#endif
439
 
440
;; New processors/variants can be added here.
441
}
442
 
443
;;
444
;; List of memory models
445
;;
446
 
447
{ Memories
448
 
449
;; Default memory model is the "Flat" model, or the "MapFile" model if there
450
;; is an armsd.map file to load.
451
 
452
;; Validation suite uses the trickbox
453
#if Validate
454
Default=TrickBox
455
#endif
456
 
457
;; If there's a memory mapfile, use that.
458
#if MemConfigToLoad && MEMORY_MapFile
459
Default=MapFile
460
#endif
461
 
462
;; Default default is the flat memory map
463
Default=Flat
464
 
465
;; The "MMUlator" provides emulation of the caches and MMU's on the
466
;; ARM6/ARM7 and ARM8 processor families.
467
 
468
#if MEMORY_MMUlator
469
;; Plumbing for cached models - leave alone
470
ARM600=MMUlator
471
ARM610=MMUlator
472
ARM620=MMUlator
473
 
474
ARM700=MMUlator
475
ARM704=MMUlator
476
ARM710=MMUlator
477
ARM710a=MMUlator
478
ARM710T=MMUlator
479
ARM720T=MMUlator
480
ARM740T=MMUlator
481
 
482
;; Validationmem is used by the 740T to map the top 2GB of memory onto the 
483
;; lower 2GB of memory. This is used during the validation process and must be
484
;; provided here as there is no MMU. 
485
 
486
 
487
;;#if ARM740T && Validate
488
;;Validationmem=1
489
;;#endif
490
 
491
ARM810=MMUlator
492
 
493
{ MMUlator
494
 
495
IdleCycles
496
;; Uncomment this to have a byte-lane memory interface
497
;;Bytelanes
498
#if Bytelanes
499
Memory=BytelaneVeneer
500
#else
501
Memory=Default
502
#endif
503
 
504
;; If Track=True, the MMUlator tells you when registers are
505
;; written to, etc. Helps debugging.
506
Track=False
507
 
508
;; Whether to have the "verbose" $statistics
509
Counters=False
510
 
511
{ ARM600
512
CacheWords=4
513
CacheAssociativity=64
514
CacheBlocks=4
515
TLBSize=32
516
RNG=6
517
WriteBufferAddrs=2
518
WriteBufferWords=8
519
CacheReplaceTicks=1
520
CacheWrite=WriteThrough
521
HasUpdateable=TRUE
522
BufferedSwap=TRUE
523
Architecture=3
524
CacheWriteBackInterlock
525
sNa=Yes
526
ChipNumber=0x60
527
Has26BitConfig
528
Replacement=Random
529
HasWriteBuffer
530
 
531
ARM610:NoCoprocessorInterface
532
ARM610:ChipNumber=0x61
533
 
534
; Set core/memory clock ratio
535
MCCFG=2
536
}
537
 
538
ARM610=ARM600
539
 
540
{ ARM700
541
 
542
CacheWords=8
543
CacheAssociativity=4
544
CacheBlocks=64
545
TLBSize=64
546
RNG=7
547
WriteBufferAddrs=4
548
WriteBufferWords=8
549
CacheReplaceTicks=1
550
CacheWrite=WriteThrough
551
HasRFlag
552
HasUpdateable=FALSE
553
BufferedSwap=FALSE
554
Architecture=3
555
CacheWriteBackInterlock
556
sNa=Yes
557
Replacement=Random
558
Has26BitConfig
559
HasWriteBuffer
560
CheckCacheWhenDisabled
561
 
562
ChipNumber=0x700
563
 
564
ARM710:NoCoprocessorInterface
565
ARM710:ChipNumber=0x0710
566
ARM710:Revision=0
567
 
568
ARM704:NoCoprocessorInterface
569
ARM704:CacheWords=4
570
ARM704:CacheBlocks=64
571
ARM704:ChipNumber=0x2710
572
ARM704:Revision=0
573
 
574
ARM710a:NoCoprocessorInterface
575
ARM710a:CacheWords=4
576
ARM710a:CacheBlocks=128
577
ARM710a:ChipNumber=0x4710
578
ARM710a:Revision=0
579
 
580
ARM710T:CacheWords=4
581
ARM710T:CacheAssociativity=4
582
ARM710T:CacheBlocks=128
583
ARM710T:Architecture=4T
584
ARM710T:ChipNumber=0x710
585
ARM710T:Revision=0
586
ARM710T:ThumbAware=1
587
ARM710T:ProcessId=0
588
 
589
ARM720T:CacheWords=4
590
ARM720T:CacheAssociativity=4
591
ARM720T:CacheBlocks=128
592
ARM720T:Architecture=4T
593
ARM720T:ChipNumber=0x720
594
ARM720T:Revision=0
595
ARM720T:ThumbAware=1
596
ARM720T:ProcessId=1
597
ARM720T:ProcessId
598
 
599
ARM740T:CacheWords=4
600
ARM740T:CacheAssociativity=4
601
ARM740T:CacheBlocks=128
602
ARM740T:Architecture=4T
603
ARM740T:ChipNumber=0x740
604
ARM740T:Revision=0
605
ARM740T:ThumbAware=1
606
ARM740T:ProcessId=0
607
ARM740T:ProtectionUnit=1
608
ARM740T:LockDownTLB=0
609
 
610
; Set core/memory clock ratio
611
MCCFG=2
612
}
613
 
614
ARM710=ARM700
615
ARM710a=ARM700
616
ARM704=ARM700
617
ARM710T=ARM700
618
ARM720T=ARM700
619
ARM740T=ARM700
620
 
621
{ ARM810
622
 
623
CacheWords=4
624
CacheAssociativity=64
625
CacheBlocks=8
626
TLBSize=64
627
RNG=6
628
WriteBufferAddrs=4
629
WriteBufferWords=8
630
CacheReplaceTicks=3
631
CacheWrite=WriteBack
632
HasRFlag
633
NoUpdateable
634
NoBufferedSwap
635
Architecture=4
636
CacheBlockInterlock
637
;; If using the PLLs
638
;PLLClock
639
;RefClkCfg=0
640
;PLLCfg=15
641
;PLLRange=0
642
HasBranchPrediction
643
Replacement=Random
644
HasWriteBuffer
645
LockDownCache
646
LockDownTLB
647
CheckCacheWhenDisabled
648
 
649
ChipNumber=0x810
650
 
651
;Set core/memory clock speed ratio
652
MCCFG=2
653
}
654
 
655
Replacement=rng
656
WriteBufferWords=8
657
Revision=0xff
658
 
659
;; Track, if on, displays to the console all CP15 (etc.) operations
660
Track=Off
661
 
662
LRURead
663
LRUWrite
664
 
665
}
666
#endif
667
 
668
 
669
;; The "StrongMMU" model provides the cache model for the SA-110
670
 
671
#if MEMORY_StrongMMU
672
SA-110=StrongMMU
673
 
674
{ StrongMMU
675
 
676
#if Validate || MemConfigToLoad
677
Config=Standard
678
#endif
679
Config=Enhanced
680
ChipNumber=0x110
681
 
682
;; Clock speed controlled by three values:
683
;; See the SA-110 Technical Reference Manual for details.
684
CCLK=3.68MHz
685
CCCFG=0
686
MCCFG=0
687
 
688
;; "ClockSwitching" controls whether "clock switching" is disabled (as on
689
;; real silicon) or enabled (to simplify benchmarking) on reset.
690
ClockSwitching=True
691
 
692
;; To enable useful timings for profiling (etc), the StrongARMulator allows
693
;; us to divide what would be the real core clock frequency by a factor. This
694
;; "slows down" StrongARM, so we get more emulated time per real time.
695
Time_Scale_Factor=1
696
 
697
Memory=Default
698
}
699
#endif
700
 
701
 
702
#if MEMORY_ARM940CacheMPU
703
;; The "ARM940CacheMPU" model provides the cache/PU model for the ARM940
704
ARM940T=ARM940CacheMPU
705
 
706
{ ARM940CacheMPU
707
 
708
ChipNumber=0x940
709
 
710
;;Set the number of cache lines
711
ICACHE_LINES=256
712
DCACHE_LINES=256
713
;; 256 = 4 Kbytes
714
;; 512 = 8 Kbytes
715
 
716
;; Clock speed controlled by:
717
MCCFG=1
718
 
719
Memory=Default
720
}
721
#endif
722
 
723
#if MEMORY_ARM920CacheMMU
724
;; The "ARM920CacheMMU" model provides the cache/MMU model for the ARM920
725
ARM920T=ARM920CacheMMU
726
 
727
{ ARM920CacheMMU
728
 
729
#if Validate
730
Config=Standard
731
#endif
732
Config=Enhanced
733
ChipNumber=0x920
734
 
735
;; Clock speed controlled by a pair of values:
736
CCCFG=0
737
MCCFG=8
738
 
739
Memory=Default
740
}
741
#endif
742
 
743
#if MEMORY_BytelaneVeneer
744
BytelaneVeneer:Memory=Default
745
#endif
746
 
747
#if MEMORY_MapFile
748
{ MapFile
749
;; Options for the mapfile memory model
750
CountWaitStates=True
751
AMBABusCounts=False
752
SpotISCycles=True
753
ISTiming=Early
754
}
755
#endif
756
 
757
}
758
 
759
;; Co-processor bus
760
CoprocessorBus=ARMCoprocessorBus
761
 
762
;;
763
;; Coprocessor configurations
764
;;
765
 
766
{ Coprocessors
767
 
768
; Here is the list of co-processors, in the form:
769
; Coprocessor[<n>]=Name
770
 
771
#if COPROCESSOR_DummyMMU
772
;; By default, we install a dummy MMU on co-processor 15.
773
CoProcessor[15]=DummyMMU
774
 
775
; Here is the configuration for the co-processors.
776
 
777
;; The Dummy MMU can be configured to return a given Chip ID
778
;DummyMMU:ChipID=
779
#endif
780
}
781
 
782
;;
783
;; Basic models (ARMulator extensions)
784
;;
785
 
786
{ EarlyModels
787
;;
788
;; "EarlyModels" get run before memory initialisation, "Models" after.
789
;;
790
 
791
#if MODEL_WatchPoints && MEMORY_WatchPoints && WatchPoints
792
;; Inserts a watchpoint model into the memory hierarchy.
793
WatchPoints
794
#endif
795
 
796
#if MODEL_Tracer
797
{ Tracer
798
;; Output options - can be plaintext to file, binary to file or to RDI log
799
;; window. (Checked in the order RDILog, File, BinFile.)
800
RDILog=False
801
File=armul.trc
802
BinFile=armul.trc
803
;; Tracer options - what to trace
804
TraceInstructions=True
805
TraceMemory=False
806
TraceIdle=True
807
TraceNonAccounted=False
808
TraceEvents=False
809
;; Where to trace memory - if not set, it will trace at the core.
810
TraceBus=True
811
;; Flags - disassemble instructions; start up with tracing enabled;
812
Disassemble=True
813
StartOn=False
814
}
815
#endif
816
}
817
 
818
{ Models
819
 
820
#if MODEL_Profiler
821
{ Profiler
822
;; For example - to profile the PC value when cache misses happen, set:
823
;Type=Event
824
;Event=0x00010001
825
;EventWord=pc
826
}
827
#endif
828
 
829
#if MODEL_WindowsHourglass
830
{ WindowsHourglass
831
;; We can control how regularly we callback the frontend
832
;; More often (lower value) means a slower emulator, but
833
;; faster response. The default is 8192.
834
Rate=8192
835
}
836
#endif
837
 
838
 
839
;;
840
;; Validation co-processor
841
;;
842
#if MODEL_ValidateCP && Validate && Validate==CP
843
ValidateCP
844
#endif
845
 
846
;;
847
;; Operating system definitions - used only for a NEW_OS_INTERFACE build
848
;;
849
 
850
;; The default operating-system is Angel - this can be changed to Demon
851
;; if desired
852
#if MODEL_Angel && !Validate
853
{ Angel
854
 
855
;; Angel configuration
856
 
857
;; SWIs to use for Angel
858
AngelSWIARM=0x123456
859
AngelSWIThumb=0xab
860
 
861
#if PIE
862
HeapBase=0x00050000
863
HeapLimit=0x00060000
864
StackBase=0x00080000
865
StackLimit=0x0078000
866
#elif PID7T
867
HeapBase=0x02069000
868
HeapLimit=0x02079000
869
StackBase=0x02080000
870
StackLimit=0x02079000
871
#else
872
HeapBase=0x40000000
873
HeapLimit=0x70000000
874
StackBase=0x80000000
875
StackLimit=0x70000000
876
#endif
877
 
878
;; If you don't want to be able to run demon programs (for backwards
879
;; compatability) set this to "No"
880
Demon=Yes
881
 
882
#if !FPE || Demon==No
883
FPE=No
884
#endif
885
 
886
;; Demon configuration
887
 
888
;; Configure the locations of stacks, etc.
889
AddrSuperStack=0xa00
890
AddrAbortStack=0x800
891
AddrUndefStack=0x700
892
AddrIRQStack=0x500
893
AddrFIQStack=0x400
894
 
895
;; The default location of the user mode stack
896
AddrUserStack=0x80000
897
 
898
;; Start of the "soft vector" code
899
AddrSoftVectors=0xa40
900
 
901
;; Where to place a copy of the command line
902
AddrCmdLine=0xf00
903
 
904
;; Address and workspace for installed handlers
905
AddrsOfHandlers=0xad0
906
 
907
;; Default handlers
908
SoftVectorCode=0xb80
909
}
910
#endif
911
 
912
#if MODEL_ValidateOS && Validate && Validate==OS
913
ValidateOS
914
#endif
915
 
916
#if UsePageTables==True && MODEL_Pagetables && !Validate
917
;; Page tables
918
{ Pagetables
919
MMU=Yes
920
AlignFaults=No
921
Cache=Yes
922
WriteBuffer=Yes
923
Prog32=Yes
924
Data32=Yes
925
LateAbort=Yes
926
BranchPredict=Yes
927
ICache=Yes
928
HighExceptionVectors=No
929
;; The following is set to the default setting of the processor core
930
;; (which is controlled from the command-line or configuration window).
931
;; Only uncomment if you wish to override that setting.
932
;BigEnd=
933
 
934
PageTableBase=0xa0000000
935
DAC=0x00000003
936
 
937
{ Region[0]
938
VirtualBase=0
939
PhysicalBase=0
940
Size=4GB
941
Cacheable=Yes
942
Bufferable=Yes
943
Updateable=Yes
944
Domain=0
945
AccessPermissions=3
946
Translate=Yes
947
}
948
 
949
;; You can add more "regions" here: Region[1], etc.
950
 
951
}
952
#endif
953
}
954
 
955
;; EOF armul.cnf