VIRTUTECH CONFIDENTIAL    Previous - Up - Next

port-space

Provided by
Simics Core
Class Hierarchy
conf-objectlog-objectport-space
Interfaces Implemented
log_object, map_demap, port_space
Description
Class providing a 16-bit+3 port address space. In response to an address being asserted on the bus, an actual EISA or ISA device signals how large a transfer it can handle through the I/O chip select 16 line (ISA), and the EX16 and EX32 lines (EISA). This allows for example a 2-byte access at address A to have different meaning than two 1-byte accesses at address A and A+1. In the port-space class, the maximal width for each address should be specified in the map attribute. Mapping 2 bytes at address A also automatically maps 1 byte at address A+1. In the same way, mapping 4 bytes at A also maps 1 byte at A+1, 2 bytes at A+2, and 1 byte at A+3.

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
Attribute List
default_target
Optional attribute; read/write access; type: [oiio|n]|n.

(object, function, offset, target). An access not targeting any object in the map attribute will be forwarded to the default target. target should be non-nil if and only if object is a translation object.

map
Optional attribute; read/write access; type: [[ioiii]*].

((base, object, function, offset, length)*). Maps zero or more object to the port space. object, which must implement the io-memory interface, is mapped from base to base + length − 1 (inclusive). Both function and offset is handed on to the mapped object through the io-memory interface. A mapped region larger than 4 bytes will be internally split into multiple 4-byte mappings. Mappings larger than 4 bytes must be a multiple of 4 bytes long, and must start at a 4-byte aligned address.

Command List

Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-mapmap device in a port-space
del-mapremove device map from a port-space
infoprint information about the device
maplist port map

Command Descriptions

<port-space>.add-map
Synopsis
<port-space>.add-map device base length [function] [offset]
Description
Map device into a port-space at address base and with length length. Different mappings of the same device may be indentified by a device specific function number. The mapping may specify an offset into the device's memory space, using the offset argument.
See Also
<port-space>.map, <port-space>.del-map
<port-space>.del-map
Synopsis
<port-space>.del-map device [function]
Description
Remove the mapping of device from a port-space. If a function number is given by the function argument, then only mappings with a matching number is removed.
See Also
<port-space>.map, <port-space>.add-map
<port-space>.info
Synopsis
<port-space>.info
Description
Print detailed information about the configuration of the device.
<port-space>.map
Synopsis
<port-space>.map
Description
Prints the port map of the port space object, one line per entry in the map attribute of the port space. The base column is the starting address of the map. The object column contains the object mapped at that address. fn is the function number and offs is the offset for the object. length is the number of bytes mapped.
See Also
<port-space>.add-map, <port-space>.del-map

VIRTUTECH CONFIDENTIAL    Previous - Up - Next