872 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			INI
		
	
	
	
			
		
		
	
	
			872 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			INI
		
	
	
	
| /* sim.cfg -- Simulator configuration script file
 | |
|    Copyright (C) 2001-2002, Marko Mlinar, markom@opencores.org
 | |
| 
 | |
| This file is part of OpenRISC 1000 Architectural Simulator.
 | |
| It contains the default configuration and help about configuring
 | |
| the simulator.
 | |
| 
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| 
 | |
| /* INTRODUCTION
 | |
| 
 | |
|    The ork1sim has various parameters, that are set in configuration files
 | |
|    like this one. The user can switch between configurations at startup by
 | |
|    specifying the required configuration file with the -f <filename.cfg> option.
 | |
|    If no configuration file is specified or1ksim searches for the default
 | |
|    configuration file sim.cfg. First it searches for './sim.cfg'. If this
 | |
|    file is not found, it searches for '~/or1k/sim.cfg'. If this file is
 | |
|    not found too, it reverts to the built-in default configuration.
 | |
| 
 | |
|    NOTE: Users should not rely on the built-in configuration, since the
 | |
| 	 default configuration may differ between version.
 | |
| 	 Rather create a configuration file that sets all critical values.
 | |
| 
 | |
|    This file may contain (standard C) comments only - no // support.
 | |
| 
 | |
|    Configure files may be be included, using:
 | |
|    include "file_name_to_include"
 | |
| 
 | |
|    Like normal configuration files, the included file is divided into
 | |
|    sections. Each section is described in detail also.
 | |
| 
 | |
|    Some section have subsections. One example of such a subsection is:
 | |
| 
 | |
|    device <index>
 | |
|      instance specific parameters...
 | |
|    enddevice
 | |
| 
 | |
|    which creates a device instance.
 | |
| */
 | |
| 
 | |
| 
 | |
| /* MEMORY SECTION
 | |
| 
 | |
|    This section specifies how the memory is generated and the blocks
 | |
|    it consists of.
 | |
| 
 | |
|    type = random/unknown/pattern
 | |
|       Specifies the initial memory values.
 | |
|       'random' generates random memory using seed 'random_seed'.
 | |
|       'pattern' fills memory with 'pattern'.
 | |
|       'unknown' does not specify how memory should be generated,
 | |
|       leaving the memory in a undefined state. This is the fastest
 | |
|       option.
 | |
| 
 | |
|    random_seed = <value>
 | |
|       random seed for randomizer, used if type = 'random'.
 | |
| 
 | |
|    pattern = <value>
 | |
|       pattern to fill memory, used if type = 'pattern'.
 | |
| 
 | |
|    nmemories = <value>
 | |
|       number of memory instances connected
 | |
| 
 | |
|    baseaddr = <hex_value>
 | |
|       memory start address
 | |
| 
 | |
|    size = <hex_value>
 | |
|       memory size
 | |
| 
 | |
|    name = "<string>"
 | |
|       memory block name
 | |
| 
 | |
|    ce = <value>
 | |
|       chip enable index of the memory instance
 | |
| 
 | |
|    mc = <value>
 | |
|       memory controller this memory is connected to
 | |
| 
 | |
|    delayr = <value>
 | |
|       cycles, required for read access, -1 if instance does not support reading
 | |
| 
 | |
|    delayw = <value>
 | |
|       cycles, required for write access, -1 if instance does not support writing
 | |
| 
 | |
|    log = "<filename>"
 | |
|       filename, where to log memory accesses to, no log, if log command is not specified
 | |
| */
 | |
| 
 | |
| 
 | |
| section memory
 | |
|   pattern = 0x00
 | |
|   type = unknown /* Fastest */
 | |
| 
 | |
|   name = "FLASH"
 | |
|   ce = 0
 | |
|   mc = 0
 | |
|   baseaddr = 0xf0000000
 | |
|   size = 0x01000000
 | |
|   delayr =  1
 | |
|   delayw = -1
 | |
| end
 | |
| 
 | |
| section memory
 | |
|   pattern = 0x00
 | |
|   type = unknown /* Fastest */
 | |
| 
 | |
|   name = "RAM"
 | |
|   ce = 1
 | |
|   mc = 0
 | |
|   baseaddr = 0x00000000
 | |
|   size = 0x02000000
 | |
|   delayr = 1
 | |
|   delayw = 1
 | |
| end
 | |
| 
 | |
| section memory
 | |
|   pattern = 0x00
 | |
|   type = unknown /* Fastest */
 | |
| 
 | |
|   name = "SRAM"
 | |
|   mc = 0
 | |
|   ce = 2
 | |
|   baseaddr = 0xa4000000
 | |
|   size = 0x00100000
 | |
|   delayr = 1
 | |
|   delayw = 2
 | |
| end
 | |
| 
 | |
| 
 | |
| /* IMMU SECTION
 | |
| 
 | |
|     This section configures the Instruction Memory Manangement Unit
 | |
| 
 | |
|     enabled = 0/1
 | |
|        '0': disabled
 | |
|        '1': enabled
 | |
|        (NOTE: UPR bit is set)
 | |
| 
 | |
|     nsets = <value>
 | |
|        number of ITLB sets; must be power of two
 | |
| 
 | |
|     nways = <value>
 | |
|        number of ITLB ways
 | |
| 
 | |
|     pagesize = <value>
 | |
|        instruction page size; must be power of two
 | |
| 
 | |
|     entrysize = <value>
 | |
|        instruction entry size in bytes
 | |
| 
 | |
|     ustates = <value>
 | |
|        number of ITLB usage states (2, 3, 4 etc., max is 4)
 | |
| 
 | |
|     hitdelay = <value>
 | |
|        number of cycles immu hit costs
 | |
| 
 | |
|     missdelay = <value>
 | |
|        number of cycles immu miss costs
 | |
| */
 | |
| 
 | |
| section immu
 | |
|   enabled = 1
 | |
|   nsets = 64
 | |
|   nways = 1
 | |
|   pagesize = 8192
 | |
|   hitdelay = 0
 | |
|   missdelay = 0
 | |
| end
 | |
| 
 | |
| 
 | |
| /* DMMU SECTION
 | |
| 
 | |
|     This section configures the Data Memory Manangement Unit
 | |
| 
 | |
|     enabled = 0/1
 | |
|        '0': disabled
 | |
|        '1': enabled
 | |
|        (NOTE: UPR bit is set)
 | |
| 
 | |
|     nsets = <value>
 | |
|        number of DTLB sets; must be power of two
 | |
| 
 | |
|     nways = <value>
 | |
|        number of DTLB ways
 | |
| 
 | |
|     pagesize = <value>
 | |
|        data page size; must be power of two
 | |
| 
 | |
|     entrysize = <value>
 | |
|        data entry size in bytes
 | |
| 
 | |
|     ustates = <value>
 | |
|        number of DTLB usage states (2, 3, 4 etc., max is 4)
 | |
| 
 | |
|     hitdelay = <value>
 | |
|        number of cycles dmmu hit costs
 | |
| 
 | |
|     missdelay = <value>
 | |
|        number of cycles dmmu miss costs
 | |
| */
 | |
| 
 | |
| section dmmu
 | |
|   enabled = 1
 | |
|   nsets = 64
 | |
|   nways = 1
 | |
|   pagesize = 8192
 | |
|   hitdelay = 0
 | |
|   missdelay = 0
 | |
| end
 | |
| 
 | |
| 
 | |
| /* IC SECTION
 | |
| 
 | |
|    This section configures the Instruction Cache
 | |
| 
 | |
|    enabled = 0/1
 | |
|        '0': disabled
 | |
|        '1': enabled
 | |
|       (NOTE: UPR bit is set)
 | |
| 
 | |
|    nsets = <value>
 | |
|       number of IC sets; must be power of two
 | |
| 
 | |
|    nways = <value>
 | |
|       number of IC ways
 | |
| 
 | |
|    blocksize = <value>
 | |
|       IC block size in bytes; must be power of two
 | |
| 
 | |
|    ustates = <value>
 | |
|       number of IC usage states (2, 3, 4 etc., max is 4)
 | |
| 
 | |
|    hitdelay = <value>
 | |
|       number of cycles ic hit costs
 | |
| 
 | |
|     missdelay = <value>
 | |
|       number of cycles ic miss costs
 | |
| */
 | |
| 
 | |
| section ic
 | |
|   enabled = 1
 | |
|   nsets = 512
 | |
|   nways = 1
 | |
|   blocksize = 16
 | |
|   hitdelay = 1
 | |
|   missdelay = 1
 | |
| end
 | |
| 
 | |
| 
 | |
| /* DC SECTION
 | |
| 
 | |
|    This section configures the Data Cache
 | |
| 
 | |
|    enabled = 0/1
 | |
|        '0': disabled
 | |
|        '1': enabled
 | |
|       (NOTE: UPR bit is set)
 | |
| 
 | |
|    nsets = <value>
 | |
|       number of DC sets; must be power of two
 | |
| 
 | |
|    nways = <value>
 | |
|       number of DC ways
 | |
| 
 | |
|    blocksize = <value>
 | |
|       DC block size in bytes; must be power of two
 | |
| 
 | |
|    ustates = <value>
 | |
|       number of DC usage states (2, 3, 4 etc., max is 4)
 | |
| 
 | |
|    load_hitdelay = <value>
 | |
|       number of cycles dc load hit costs
 | |
| 
 | |
|    load_missdelay = <value>
 | |
|       number of cycles dc load miss costs
 | |
| 
 | |
|    store_hitdelay = <value>
 | |
|       number of cycles dc load hit costs
 | |
| 
 | |
|    store_missdelay = <value>
 | |
|       number of cycles dc load miss costs
 | |
| */
 | |
| 
 | |
| section dc
 | |
|   enabled = 1
 | |
|   nsets = 512
 | |
|   nways = 1
 | |
|   blocksize = 16
 | |
|   load_hitdelay = 1
 | |
|   load_missdelay = 1
 | |
|   store_hitdelay = 1
 | |
|   store_missdelay = 1
 | |
| end
 | |
| 
 | |
| 
 | |
| /* SIM SECTION
 | |
| 
 | |
|   This section specifies how or1ksim should behave.
 | |
| 
 | |
|   verbose = 0/1
 | |
|        '0': don't print extra messages
 | |
|        '1': print extra messages
 | |
| 
 | |
|   debug = 0-9
 | |
|       0  : no debug messages
 | |
|       1-9: debug message level.
 | |
| 	   higher numbers produce more messages
 | |
| 
 | |
|   profile = 0/1
 | |
|       '0': don't generate profiling file 'sim.profile'
 | |
|       '1': don't generate profiling file 'sim.profile'
 | |
| 
 | |
|   prof_fn = "<filename>"
 | |
|       optional filename for the profiling file.
 | |
|       valid only if 'profile' is set
 | |
| 
 | |
|   mprofile = 0/1
 | |
|       '0': don't generate memory profiling file 'sim.mprofile'
 | |
|       '1': generate memory profiling file 'sim.mprofile'
 | |
| 
 | |
|   mprof_fn = "<filename>"
 | |
|       optional filename for the memory profiling file.
 | |
|       valid only if 'mprofile' is set
 | |
| 
 | |
|   history = 0/1
 | |
|       '0': don't track execution flow
 | |
|       '1': track execution flow
 | |
|       Execution flow can be tracked for the simulator's
 | |
|       'hist' command. Useful for back-trace debugging.
 | |
| 
 | |
|   iprompt = 0/1
 | |
|      '0': start in <not interactive prompt> (so what do we start in ???)
 | |
|      '1': start in interactive prompt.
 | |
| 
 | |
|   exe_log = 0/1
 | |
|       '0': don't generate execution log.
 | |
|       '1': generate execution log.
 | |
| 
 | |
|   exe_log = default/hardware/simple/software
 | |
|       type of execution log, default is used when not specified
 | |
| 
 | |
|   exe_log_start = <value>
 | |
|       index of first instruction to start logging, default = 0
 | |
| 
 | |
|   exe_log_end = <value>
 | |
|       index of last instruction to end logging; not limited, if omitted
 | |
| 
 | |
|   exe_log_marker = <value>
 | |
|       <value> specifies number of instructions before horizontal marker is
 | |
|       printed; if zero, markers are disabled (default)
 | |
| 
 | |
|   exe_log_fn = "<filename>"
 | |
|       filename for the exection log file.
 | |
|       valid only if 'exe_log' is set
 | |
| 
 | |
|   clkcycle = <value>[ps|ns|us|ms]
 | |
|       specifies time measurement for one cycle
 | |
| */
 | |
| 
 | |
| section sim
 | |
|   verbose = 1
 | |
|   debug = 0
 | |
|   profile = 0
 | |
|   history = 0
 | |
| 
 | |
|   clkcycle = 10ns
 | |
| end
 | |
| 
 | |
| 
 | |
| /* SECTION VAPI
 | |
| 
 | |
|     This section configures the Verification API, used for Advanced
 | |
|     Core Verification.
 | |
| 
 | |
|     enabled = 0/1
 | |
| 	'0': disbable VAPI server
 | |
| 	'1': enable/start VAPI server
 | |
| 
 | |
|     server_port = <value>
 | |
| 	TCP/IP port to start VAPI server on
 | |
| 
 | |
|     log_enabled = 0/1
 | |
|        '0': disable VAPI requests logging
 | |
|        '1': enable VAPI requests logging
 | |
| 
 | |
|     hide_device_id = 0/1
 | |
|        '0': don't log device id (for compatability with old version)
 | |
|        '1': log device id
 | |
| 
 | |
| 
 | |
|     vapi_fn = <filename>
 | |
|        filename for the log file.
 | |
|        valid only if log_enabled is set
 | |
| */
 | |
| 
 | |
| section VAPI
 | |
|   enabled = 0
 | |
|   server_port = 9998
 | |
|   log_enabled = 0
 | |
|   vapi_log_fn = "vapi.log"
 | |
| end
 | |
| 
 | |
| 
 | |
| /* CPU SECTION
 | |
| 
 | |
|    This section specifies various CPU parameters.
 | |
| 
 | |
|    ver = <value>
 | |
|    rev = <value>
 | |
|       specifies version and revision of the CPU used
 | |
| 
 | |
|    upr = <value>
 | |
|       changes the upr register
 | |
| 
 | |
|    sr = <value>
 | |
|       sets the initial Supervision Register value
 | |
|       supervisor mode (SM) and fixed one (FO) set = 0x8001
 | |
|       exception prefix high (EPH, vectors@0xf0000000) = 0x4000
 | |
|       together, (SM | FO | EPH) = 0xc001
 | |
|    superscalar = 0/1
 | |
|       '0': CPU is scalar
 | |
|       '1': CPU is superscalar
 | |
|       (modify cpu/or32/execute.c to tune superscalar model)
 | |
| 
 | |
|    hazards = 0/1
 | |
|       '0': don't track data hazards in superscalar CPU
 | |
|       '1': track data hazards in superscalar CPU
 | |
|       If tracked, data hazards can be displayed using the
 | |
|       simulator's 'r' command.
 | |
| 
 | |
|    dependstats = 0/1
 | |
|       '0': don't calculate inter-instruction dependencies.
 | |
|       '1': calculate inter-instruction dependencies.
 | |
|       If calculated, inter-instruction dependencies can be
 | |
|       displayed using the simulator's 'stat' command.
 | |
| 
 | |
|    sbuf_len = <value>
 | |
|       length of store buffer (<= 256), 0 = disabled
 | |
| */
 | |
| 
 | |
| section cpu
 | |
|   ver = 0x12
 | |
|   cfg = 0x00
 | |
|   rev = 0x01
 | |
|   sr =  0x8001 /*SPR_SR_FO  | SPR_SR_SM | SPR_SR_EPH */
 | |
|   /* upr = */
 | |
|   superscalar = 0
 | |
|   hazards = 0
 | |
|   dependstats = 0
 | |
|   sbuf_len = 0
 | |
| end
 | |
| 
 | |
| 
 | |
| /* PM SECTION
 | |
| 
 | |
|    This section specifies Power Management parameters
 | |
| 
 | |
|    enabled = 0/1
 | |
|       '0': disable power management
 | |
|       '1': enable power management
 | |
| */
 | |
| 
 | |
| section pm
 | |
|   enabled = 0
 | |
| end
 | |
| 
 | |
| 
 | |
| /* BPB SECTION
 | |
| 
 | |
|    This section specifies how branch prediction should behave.
 | |
| 
 | |
|    enabled = 0/1
 | |
|      '0': disable branch prediction
 | |
|      '1': enable branch prediction
 | |
| 
 | |
|    btic = 0/1
 | |
|      '0': disable branch target instruction cache model
 | |
|      '1': enable branch target instruction cache model
 | |
| 
 | |
|    sbp_bf_fwd = 0/1
 | |
|      Static branch prediction for 'l.bf'
 | |
|      '0': don't use forward prediction
 | |
|      '1': use forward prediction
 | |
| 
 | |
|    sbp_bnf_fwd = 0/1
 | |
|      Static branch prediction for 'l.bnf'
 | |
|      '0': don't use forward prediction
 | |
|      '1': use forward prediction
 | |
| 
 | |
|    hitdelay = <value>
 | |
|        number of cycles bpb hit costs
 | |
| 
 | |
|    missdelay = <value>
 | |
|        number of cycles bpb miss costs
 | |
| */
 | |
| 
 | |
| section bpb
 | |
|   enabled = 0
 | |
|   btic = 0
 | |
|   sbp_bf_fwd = 0
 | |
|   sbp_bnf_fwd = 0
 | |
|   hitdelay = 0
 | |
|   missdelay = 0
 | |
| end
 | |
| 
 | |
| 
 | |
| /* DEBUG SECTION
 | |
| 
 | |
|    This sections specifies how the debug unit should behave.
 | |
| 
 | |
|    enabled = 0/1
 | |
|       '0': disable debug unit
 | |
|       '1': enable debug unit
 | |
| 
 | |
|    gdb_enabled = 0/1
 | |
|       '0': don't start gdb server
 | |
|       '1': start gdb server at port 'server_port'
 | |
| 
 | |
|    server_port = <value>
 | |
|       TCP/IP port to start gdb server on
 | |
|       valid only if gdb_enabled is set
 | |
| 
 | |
|    vapi_id = <hex_value>
 | |
|       Used to create "fake" vapi log file containing the JTAG proxy messages.
 | |
| */
 | |
| section debug
 | |
|   enabled = 0
 | |
| /*  gdb_enabled = 0 */
 | |
| /*  server_port = 9999*/
 | |
|   rsp_enabled = 1
 | |
|   rsp_port = 50001
 | |
| end
 | |
| 
 | |
| 
 | |
| /* MC SECTION
 | |
| 
 | |
|    This section configures the memory controller
 | |
| 
 | |
|    enabled = 0/1
 | |
|      '0': disable memory controller
 | |
|      '1': enable memory controller
 | |
| 
 | |
|    baseaddr = <hex_value>
 | |
|       address of first MC register
 | |
| 
 | |
|    POC = <hex_value>
 | |
|       Power On Configuration register
 | |
| 
 | |
|    index = <value>
 | |
|       Index of this memory controller amongst all the memory controllers
 | |
| */
 | |
| 
 | |
| section mc
 | |
|   enabled = 0
 | |
|   baseaddr = 0x93000000
 | |
|   POC = 0x00000008                 /* Power on configuration register */
 | |
|   index = 0
 | |
| end
 | |
| 
 | |
| 
 | |
| /* UART SECTION
 | |
| 
 | |
|    This section configures the UARTs
 | |
| 
 | |
|      enabled = <0|1>
 | |
| 	Enable/disable the peripheral.  By default if it is enabled.
 | |
| 
 | |
|      baseaddr = <hex_value>
 | |
| 	address of first UART register for this device
 | |
| 
 | |
| 
 | |
|      channel = <channeltype>:<args>
 | |
| 
 | |
| 	The channel parameter indicates the source of received UART characters
 | |
| 	and the sink for transmitted UART characters.
 | |
| 
 | |
| 	The <channeltype> can be either "file", "xterm", "tcp", "fd", or "tty"
 | |
| 	(without quotes).
 | |
| 
 | |
| 	  A) To send/receive characters from a pair of files, use a file
 | |
| 	     channel:
 | |
| 
 | |
| 	       channel=file:<rxfile>,<txfile>
 | |
| 
 | |
| 	  B) To create an interactive terminal window, use an xterm channel:
 | |
| 
 | |
| 	       channel=xterm:[<xterm_arg>]*
 | |
| 
 | |
| 	  C) To create a bidirectional tcp socket which one could, for example,
 | |
| 	     access via telnet, use a tcp channel:
 | |
| 
 | |
| 	       channel=tcp:<port number>
 | |
| 
 | |
| 	  D) To cause the UART to read/write from existing numeric file
 | |
| 	     descriptors, use an fd channel:
 | |
| 
 | |
| 	       channel=fd:<rx file descriptor num>,<tx file descriptor num>
 | |
| 
 | |
| 	  E) To connect the UART to a physical serial port, create a tty
 | |
| 	     channel:
 | |
| 
 | |
| 	       channel=tty:device=/dev/ttyS0,baud=9600
 | |
| 
 | |
|      irq = <value>
 | |
| 	irq number for this device
 | |
| 
 | |
|      16550 = 0/1
 | |
| 	'0': this device is a UART16450
 | |
| 	'1': this device is a UART16550
 | |
| 
 | |
|      jitter = <value>
 | |
| 	in msecs... time to block, -1 to disable it
 | |
| 
 | |
|      vapi_id = <hex_value>
 | |
| 	VAPI id of this instance
 | |
| */
 | |
| 
 | |
| section uart
 | |
|   enabled = 1
 | |
|   baseaddr = 0x90000000
 | |
|   irq = 2
 | |
|   /* channel = "file:uart0.rx,uart0.tx" */
 | |
|   /* channel = "tcp:10084" */
 | |
|   channel = "xterm:"
 | |
|   jitter = -1                     /* async behaviour */
 | |
|   16550 = 1
 | |
| end
 | |
| 
 | |
| 
 | |
| /* DMA SECTION
 | |
| 
 | |
|    This section configures the DMAs
 | |
| 
 | |
|      enabled = <0|1>
 | |
| 	Enable/disable the peripheral.  By default if it is enabled.
 | |
| 
 | |
|      baseaddr = <hex_value>
 | |
| 	address of first DMA register for this device
 | |
| 
 | |
|      irq = <value>
 | |
| 	irq number for this device
 | |
| 
 | |
|      vapi_id = <hex_value>
 | |
| 	VAPI id of this instance
 | |
| */
 | |
| 
 | |
| section dma
 | |
|   enabled = 1
 | |
|   baseaddr = 0x9a000000
 | |
|   irq = 11
 | |
| end
 | |
| 
 | |
| 
 | |
| /* ETHERNET SECTION
 | |
| 
 | |
|    This section configures the ETHERNETs
 | |
| 
 | |
|      enabled = <0|1>
 | |
| 	Enable/disable the peripheral.  By default if it is enabled.
 | |
| 
 | |
|      baseaddr = <hex_value>
 | |
| 	address of first ethernet register for this device
 | |
| 
 | |
|      dma = <value>
 | |
| 	which controller is this ethernet "connected" to
 | |
| 
 | |
|      irq = <value>
 | |
| 	ethernet mac IRQ level
 | |
| 
 | |
|      rtx_type = <value>
 | |
| 	use 0 - file interface, 1 - socket interface
 | |
| 
 | |
|      rx_channel = <value>
 | |
| 	DMA channel used for RX
 | |
| 
 | |
|      tx_channel = <value>
 | |
| 	DMA channel used for TX
 | |
| 
 | |
|      rxfile = "<filename>"
 | |
| 	filename, where to read data from
 | |
| 
 | |
|      txfile = "<filename>"
 | |
| 	filename, where to write data to
 | |
| 
 | |
|      sockif = "<ifacename>"
 | |
| 	interface name of ethernet socket
 | |
| 
 | |
|      vapi_id = <hex_value>
 | |
| 	VAPI id of this instance
 | |
| */
 | |
| 
 | |
| section ethernet
 | |
|   enabled = 1
 | |
|   baseaddr = 0x92000000
 | |
|   /* dma = 0 */
 | |
|   irq = 4
 | |
|   rtx_type = "tap"
 | |
|   tap_dev = "tap0"
 | |
|   /* tx_channel = 0 */
 | |
|   /* rx_channel = 1 */
 | |
|   rxfile = "eth0.rx"
 | |
|   txfile = "eth0.tx"
 | |
|   sockif = "eth0"
 | |
| end
 | |
| 
 | |
| 
 | |
| /* GPIO SECTION
 | |
| 
 | |
|    This section configures the GPIOs
 | |
| 
 | |
|      enabled = <0|1>
 | |
| 	Enable/disable the peripheral.  By default if it is enabled.
 | |
| 
 | |
|      baseaddr = <hex_value>
 | |
| 	address of first GPIO register for this device
 | |
| 
 | |
|      irq = <value>
 | |
| 	irq number for this device
 | |
| 
 | |
|      base_vapi_id = <hex_value>
 | |
| 	first VAPI id of this instance
 | |
| 	GPIO uses 8 consecutive VAPI IDs
 | |
| */
 | |
| 
 | |
| section gpio
 | |
|   enabled = 0
 | |
|   baseaddr = 0x91000000
 | |
|   irq = 3
 | |
|   base_vapi_id = 0x0200
 | |
| end
 | |
| 
 | |
| /* VGA SECTION
 | |
| 
 | |
|     This section configures the VGA/LCD controller
 | |
| 
 | |
|       enabled = <0|1>
 | |
| 	Enable/disable the peripheral.  By default if it is enabled.
 | |
| 
 | |
|       baseaddr = <hex_value>
 | |
| 	address of first VGA register
 | |
| 
 | |
|       irq = <value>
 | |
| 	irq number for this device
 | |
| 
 | |
|       refresh_rate = <value>
 | |
| 	number of cycles between screen dumps
 | |
| 
 | |
|       filename = "<filename>"
 | |
| 	template name for generated names (e.g. "primary" produces "primary0023.bmp")
 | |
| */
 | |
| 
 | |
| section vga
 | |
|   enabled = 0
 | |
|   baseaddr = 0x97100000
 | |
|   irq = 8
 | |
|   refresh_rate = 100000
 | |
|   filename = "primary"
 | |
| end
 | |
| 
 | |
| 
 | |
| /* TICK TIMER SECTION
 | |
| 
 | |
|     This section configures tick timer
 | |
| 
 | |
|     enabled = 0/1
 | |
|       whether tick timer is enabled
 | |
| */
 | |
| 
 | |
| section pic
 | |
|   enabled = 1
 | |
|   edge_trigger = 1
 | |
| end
 | |
| 
 | |
| /* FB SECTION
 | |
| 
 | |
|     This section configures the frame buffer
 | |
| 
 | |
|     enabled = <0|1>
 | |
|       Enable/disable the peripheral.  By default if it is enabled.
 | |
| 
 | |
|     baseaddr = <hex_value>
 | |
|       base address of frame buffer
 | |
| 
 | |
|     paladdr = <hex_value>
 | |
|       base address of first palette entry
 | |
| 
 | |
|     refresh_rate = <value>
 | |
|       number of cycles between screen dumps
 | |
| 
 | |
|     filename = "<filename>"
 | |
|       template name for generated names (e.g. "primary" produces "primary0023.bmp")
 | |
| */
 | |
| 
 | |
| section fb
 | |
|   enabled = 0
 | |
|   baseaddr = 0x97000000
 | |
|   refresh_rate = 1000000
 | |
|   filename = "primary"
 | |
| end
 | |
| 
 | |
| 
 | |
| /* KBD SECTION
 | |
| 
 | |
|     This section configures the PS/2 compatible keyboard
 | |
| 
 | |
|     baseaddr = <hex_value>
 | |
|       base address of the keyboard device
 | |
| 
 | |
|     rxfile = "<filename>"
 | |
|       filename, where to read data from
 | |
| */
 | |
| 
 | |
| section kbd
 | |
|   enabled = 0
 | |
|   irq = 5
 | |
|   baseaddr = 0x94000000
 | |
|   rxfile = "kbd.rx"
 | |
| end
 | |
| 
 | |
| 
 | |
| /* ATA SECTION
 | |
| 
 | |
|     This section configures the ATA/ATAPI host controller
 | |
| 
 | |
|       baseaddr = <hex_value>
 | |
| 	address of first ATA register
 | |
| 
 | |
|       enabled = <0|1>
 | |
| 	Enable/disable the peripheral.  By default if it is enabled.
 | |
| 
 | |
|       irq = <value>
 | |
| 	irq number for this device
 | |
| 
 | |
|       debug = <value>
 | |
| 	debug level for ata models.
 | |
| 	0: no debug messages
 | |
| 	1: verbose messages
 | |
| 	3: normal messages (more messages than verbose)
 | |
| 	5: debug messages (normal debug messages)
 | |
| 	7: flow control messages (debug statemachine flows)
 | |
| 	9: low priority message (display everything the code does)
 | |
| 
 | |
|       dev_type0/1 = <value>
 | |
| 	ata device 0 type
 | |
| 	0: NO_CONNeCT: none (not connected)
 | |
| 	1: FILE      : simulated harddisk
 | |
| 	2: LOCAL     : local system harddisk
 | |
| 
 | |
|       dev_file0/1 = "<filename>"
 | |
| 	filename for simulated ATA device
 | |
| 	valid only if dev_type0 == 1
 | |
| 
 | |
|       dev_size0/1 = <value>
 | |
| 	size of simulated hard-disk (in MBytes)
 | |
| 	valid only if dev_type0 == 1
 | |
| 
 | |
|       dev_packet0/1 = <value>
 | |
| 	0: simulated ATA device does NOT implement PACKET command feature set
 | |
| 	1: simulated ATA device does implement PACKET command feature set
 | |
| 
 | |
|    FIXME: irq number
 | |
| */
 | |
| 
 | |
| section ata
 | |
|   enabled = 0
 | |
|   baseaddr = 0x9e000000
 | |
|   irq = 15
 | |
| 
 | |
| end
 |