VIRTUTECH CONFIDENTIAL Previous - Up - Next
port-space
- Provided by
-
Simics Core
- Class Hierarchy
-
conf-object → log-object → port-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-map | map device in a port-space |
del-map | remove device map from a port-space |
info | print information about the device |
map | list 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