VIRTUTECH CONFIDENTIAL    Previous - Up - Next

generic-flash-memory

Provided by
new-flash-memory
Class Hierarchy
conf-objectlog-objectconf-objectlog-objectgeneric-flash-memory
Interfaces Implemented
log_object, event_poster, translate
Description
The generic-flash-memory class simulates different types of flash-memory depending on which attributes are set. Refer to [simics]/home/scripts/flash_memory.py for a complete description of the features implemented and the flash chips that are pre-configured.

Attributes

Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attributes inherited from class log-object
access_count, log_buffer, log_buffer_last, log_buffer_size, log_group_mask, log_groups, log_level, log_type_mask
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attributes inherited from class log-object
access_count, log_buffer, log_buffer_last, log_buffer_size, log_group_mask, log_groups, log_level, log_type_mask
Attribute List
accept_inquiries
Optional attribute; read/write access; type: Integer.

If 1, the flash device will handled inquiries as normal accesses. If 0, it will ignore them. Default is 0.

accept_smaller_reads
Optional attribute; read/write access; type: Integer.

If 1, the flash device will accept smaller reads than the bus width. If 0, it will complain when receiving smaller reads. Default is 0.

accept_smaller_writes
Optional attribute; read/write access; type: Integer.

If 1, the flash device will accept smaller writes than the bus width. If 0, it will complain when receiving smaller writes. Default is 0.

amd_ignore_cmd_address
Optional attribute; read/write access; type: Integer.

If 1, the address will be ignored when parsing AMD commands. Default is 0.

big_endian
Optional attribute; read/write access; type: Integer.

If 1, the flash device will behave as a big endian device. If 0, it will behave as a little endian device. Default is 0.

bus_width
Required attribute; read/write access; type: Integer.

Total width (in bits) of the data path connected to the flash device.

busy_signal_targets
Optional attribute; read/write access; type: [n|o|[os]*].

(dst_object, dst_signal)* The destination device and signal name to connect the busy signal of the chips to. The destinations should implement the signal interface. Without a timing model, the device will never raise the busy signal.

cfi_query
Optional attribute; read/write access; type: n|d|[i+].

CFI query structure (if the device is CFI compatible). Default is none (device is not CFI compatible).

chip_mode
Optional attribute; read/write access; type: [s*].

Current state for all chips.

chip_write_buffer
Optional attribute; read/write access; type: [d|n*].

Current write buffer for all chips.

chip_write_buffer_current_count
Optional attribute; read/write access; type: [i*].

Current write buffer count for all chips.

chip_write_buffer_start_address
Optional attribute; read/write access; type: [i*].

Current write buffer start address for all chips.

command_set
Optional attribute; read/write access; type: Integer.

If no CFI structure is provided, this attribute should be set to indicate the command-set to use. Default is 0 (invalid command-set).

device_id
Optional attribute; read/write access; type: i|[i+].

Device ID/code as used in Intel identifier codes and AMD autoselect mode. Default is 0.

hardware_lock_status
Optional attribute; read/write access; type: [[i*]*].

Hardware lock status for all units (for Intel advanced lock system).

ignore_timing
Optional attribute; read/write access; type: Integer.

Obsolete attribute since timing is not modeled. Kept for backward compatibility only.

intel_configuration
Optional attribute; read/write access; type: Integer.

If 1, the flash device supports intel configuration operations. f 0, intel configuration operations are ignored. Default is 0.

intel_lock
Optional attribute; read/write access; type: Integer.

If 2, the flash device supports advanced lock/unlock/lock down operations. If 1, the flash device supports simple lock/unlock all operations. If 0, lock operations are ignored. Default is 0.

intel_protection_program
Optional attribute; read/write access; type: Integer.

If 1, the flash device supports intel protection program operations. If 0, intel protection program operations are ignored. Default is 0.

intel_write_buffer
Optional attribute; read/write access; type: Integer.

If 1, the flash device supports intel write buffer operations. If 0, intel write buffer operations are ignored. Default is 0.

interleave
Required attribute; read/write access; type: Integer.

Interleave (number of parallel flash memory chips).

lock_status
Optional attribute; read/write access; type: [[i*]*].

Lock status for all units.

manufacturer_id
Optional attribute; read/write access; type: Integer.

Manufacturer ID/code as used in Intel identifier codes and AMD autoselect mode. Default is 0.

max_chip_width
Optional attribute; read/write access; type: Integer.

Maximum data width (for example, specified as 16 for a x8/x16 capable device).

reset
Pseudo attribute; write-only access; type: Integer.

Set to 1 in order to reset the device.

storage_ram
Required attribute; read/write access; type: Object.

RAM object providing the backing store area.

strict_cmd_set
Optional attribute; read/write access; type: Integer.

If set to 1, warnings that the command-set is misused become errors. Default is 0.

timing_model
Optional attribute; read/write access; type: D; string indexed; indexed type: Float.

Associates a flash state/operation with a time. The flash will remain in this state the given time allowing a more strict time model to be simulated. Sometimes flash drivers requires that an operation takes some time to for the software to work correctly.

unit_erase_time
Optional attribute; read/write access; type: Float.

Obsolete attribute since timing is not modeled. Kept for backward compatibility only.

unit_size
Required attribute; read/write access; type: [i+].

A list of block/sector sizes.

unit_status
Optional attribute; read/write access; type: [[i*]*].

Status for all units.

write_buffer_size
Optional attribute; read/write access; type: Integer.

Write buffer size *in bytes* for write buffer commands. Default is 32 (standard value for Intel Strataflash).

Command List

Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
infoprint information about the device
statusprint status of the device

Command Descriptions

<generic-flash-memory>.info
Synopsis
<generic-flash-memory>.info
Description
Print detailed information about the configuration of the device.
<generic-flash-memory>.status
Synopsis
<generic-flash-memory>.status
Description
Print detailed information about the current status of the device.

VIRTUTECH CONFIDENTIAL    Previous - Up - Next