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.
conf_object, log_object, port_space, map_demap
- cell-change
- Notifier that is triggered after the object's cell was changed.
- object-delete
- Notifier that is triggered just before Simics object is deleted.
- queue-change
- Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
-
add-map
– map device in a port-space
-
del-map
– remove device map from a port-space
-
info
– print information about the object
-
map
– print port map
-
status
– print status of the object
-
get
– get value from physical address without side-effects
-
get-string
– read a string from memory
-
read
– read value from physical address
-
read-string
– read a string from memory
-
set
– set physical address to specified value without side-effects
-
set-string
– write a string to memory
-
write
– set physical address to specified value
-
write-string
– write a string to memory
-
map
-
Optional attribute;
read/write access; type:
[[io|[os|n]iii]*]
((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.
-
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.
Simics Core