6.1 Function-specific error codes

The following table describes error codes that might be returned by specific functions only. These error codes are listed in the Errors section for each function that might return them.

Table 6-1 Function-specific error codes

Error code Value Meaning
(E_no_response_yet) (1) No error. No response was received yet for a request. This is never returned by Iris functions and is only used in the Iris framework state machines.
E_address_out_of_range 0xE113 The specified address is outside of the range minAddr to maxAddr for the specified memory space.
E_already_connected 0xE136 Tried to connect to a server but the client is already connected to one. Disconnect the client first.
E_approximation 0xE143 Only returned in the error field in MemoryReadResult or ResourceReadResult. The memory value could be read but is only an approximation, for example because one of the instances is not in a debuggable state. A load instruction from this address would have succeeded.
E_connection_refused 0xE130 Tried to connect to a server but there is no Iris server running on that port.
E_counter_mode_not_supported 0xE10A An unknown event counter id was passed to an event counter function.
E_data_size_error 0xE102

The data argument, or one of the data arguments, if there are more than one, does not match the size that is expected by that function.

Either the function expects data with a certain minimum or maximum size, or the size of an array or string is inconsistent with other parameters.

E_error_creating_event_stream 0xE13F An event stream could not be created because the event logic that is internal to the instance failed.
E_error_deleting_breakpoint 0xE13E A breakpoint could not be deleted because the breakpoint logic that is internal to a specific instance failed.
E_error_disabling_event_stream 0xE141 An event stream could not be destroyed because the event logic that is internal to the instance failed.
E_error_enabling_event_stream 0xE140 An event stream could not be enabled because the event logic that is internal to the instance failed.
E_error_loading_dso 0xE148 Could not load a DSO. This might be because the specified file could not be found or it was not a valid DSO.
E_error_memory_abort 0xE142 Only returned in the error field in MemoryReadResult or MemoryWriteResult. The memory value could not be read because the memory subsystem aborted the operation. A load instruction from this address would also have failed. The corresponding bits in data should be ignored.
E_error_opening_file 0xE119 The file passed to image_loadFile() cannot be opened for reading.
E_error_reading_resource 0xE139 resource_read() returns this error code in the error member of the returned ResourceReadResult when the value of a resource cannot be determined, or it produced an error that cannot be represented in a better way. resource_read() does not return it as the error code. This is a catch-all error for resource reads that failed.
E_error_reading_write_only_resource 0xE137

resource_read() returns this error code in the error member of the returned ResourceReadResult for write-only resources that were read. resource_read() does not return it as the error code.

Note:

It is valid, and encouraged, for registers that are architecturally write-only to return a useful value when read through resource_read(). resource_read() is not an architectural register read and does not have to follow architectural rules, including architectural semantics and permissions.
E_error_setting_breakpoint 0xE13D A breakpoint could not be set because the breakpoint logic that is internal to a specific instance failed.
E_error_writing_read_only_cell 0xE14B Returned when trying to write a read only table cell.
E_error_writing_read_only_resource 0xE138

resource_write() returns this error code in the error member of the returned ResourceWriteResult for read-only resources that were written. resource_write() does not return it as the error code.

Note:

Some registers that are architecturally read-only might be writable through resource_write() because resource_write() is not an architectural write.
E_error_writing_resource 0xE13A resource_write() returns this in the error member of the returned ResourceWriteResult for resources that could not be written, or writing it produced an error. resource_write() does not return it as the error code. This is a catch-all error for resource writes that failed.
E_full_reset_not_supported 0xE14D Not all parts of the simulation could be reset by the SimulationEngine. It might still be possible to partially reset the simulation by calling simulation_reset() with allowPartialReset=true.
E_image_format_error 0xE118 The format of an image passed to image_loadFile() or image_loadData() is recognized, but the image is either malformatted or contains unsupported constructs.
E_index_out_of_range 0xE12A The specified index is out of range, for example for table_read().
E_instance_already_registered 0xE10F The instance could not be registered because another instance with the same instName was already registered.
E_invalid_breakpoint_condition 0xE14C One or more breakpoint condition was invalid. This might be because the condition was not recognized, or it was the wrong type, or it was not applicable to the breakpoint type being set.
E_invalid_context 0xE10C The function must not be called in this context. For example, the semihosting_return() function must only be called from within synchronous invocations of the ec_FOO() callback for the IRIS_SEMIHOSTING_CALL_EXTENSION event source.
E_invalid_instName 0xE10E The instance name is invalid. Either the class, that is, the first part of the hierarchical instance name, is unknown, or the dots separating the hierarchy levels have caused a formatting error.
E_invalid_plugin 0xE149 Returned by plugin_load() if the plug-in path does not refer to a valid Iris plug-in.
E_invalid_rwMode 0xE123 breakpoint_set() was called with an rwMode argument that is not "r", "w", or "rw".
E_io_error 0xE116 An operation on a file or a socket on the callee side returned an I/O error, for example for image_loadFile(). End-of-file never results in E_io_error.
E_no_marshalling_for_current_thread 0xE145 Returned by IrisC_processAsyncMessages() functions when called from a thread that has no instances, using thread marshalling.
E_not_a_counter 0xE11C eventStream_getCounter() was called on an event stream that was not started as a counter, in other words, it was created with eventStream_create(counter = False).
E_not_compatible 0xE135 Tried to connect to a server, but the server is not compatible with this client.
E_not_connected 0xE129

The client, for example IrisTcpClient, is not connected to a simulation and so the call cannot be sent anywhere.

This is only returned by IrisTcpClient or similar clients.

E_not_supported_for_event_source 0xE11B

One of the following:

  • A trace range or trace start point or stop point was set on an event source that does not support this feature.
  • The trace range does not support the selected aspect.
  • The event source does not support eventStream_getState().
E_operation_interrupted 0xE13C An operation was interrupted by an end user. This is usually only returned by specific callbacks that are implemented by clients to allow chunked transfers of data. This error code tells the original operation, for example image_loadDataPull(), to stop. The interrupted operation in turn returns E_operation_interrupted.
E_plugin_already_loaded 0xE14A Returned by plugin_load() if the plug-in path refers to a plug-in that has already been loaded.
E_server_already_running 0xE146 Returned by tcpServer_start() when a server is already running.
E_server_not_running 0xE147 Returned by tcpServer_getPort() or tcpServer_stop() if no server is running.
E_simulation_running 0xE14E The request cannot be carried out while the simulation is running. The caller must stop the simulation and try again.
E_socket_error 0xE133 A low level read, write, or configuration operation failed on the TCP socket.
E_syncEc_mode_not_supported 0xE109 The specified event source or function does not support synchronous callbacks.
E_thread_error 0xE134 A low-level threading function failed.
E_timeout 0xE131 A function that supports a timeout was called and it timed out.
E_unaligned_access 0xE11D memory_read() or memory_write() was called with a start address that is not naturally aligned to the byteWidth argument.
E_unit_not_supported 0xE126 A step function was called with a unit that is not supported by the instance.
E_unknown_breakpoint_id 0xE124 The specified breakpoint id, bptId, is not known by the instance.
E_unknown_callback_instance_id 0xE108 The callback instance id, ecInstId, is unknown.
E_unknown_disassembly_mode 0xE107 The mode argument specifies an unknown disassembly mode.
E_unknown_event_field 0xE105 The field or fields argument contains an unknown event field for the specified event source.
E_unknown_event_source 0xE104 The name argument does not specify a valid event source for the target instance.
E_unknown_event_source_id 0xE115 The specified event source id is unknown.
E_unknown_event_stream_id 0xE106 The esId argument does not specify a valid event stream id, that is, one that was previously created with eventStream_create().
E_unknown_file_descriptor 0xE10B An unknown file descriptor was passed to the semihosting_provideInputData() function.
E_unknown_hostname 0xE132 Tried to connect to a host using a hostname, but the hostname is not known.
E_unknown_image_format 0xE117 The format of an image passed to image_loadFile() or image_loadData() is not recognized so it cannot be loaded.
E_unknown_instance_name 0xE12F Function instanceRegistry_getInstanceInfoByName() was called with an unknown instance name. The class of the instance must be part of the instance name, for example component.cluster0 instead of just cluster0. Also, the presence of component.a.b.c does not guarantee the presence of component.a.b.
E_unknown_memory_space_id 0xE103 The spaceId argument does not specify a valid memory space for the target instance.
E_unknown_resource_group 0xE114 The specified resource group name is unknown.
E_unknown_resource_id 0xE101 The rscId argument does not specify an existing resource for the specified target instance.
E_unknown_sync_level 0xE10D Unknown sync level value.
E_unknown_table_id 0xE12B A table function was called with an unknown table id.
E_unsupported_argument_combination 0xE122 A function was called with a combination of optional arguments that is either unsupported or does not make sense. This includes missing optional arguments that are mandatory under some circumstances.
E_unsupported_attribute_combination 0xE120

memory_read() or memory_write() was called with a combination of attributes that does not make sense or is otherwise unsupported.

Note:

Target instances are not required to detect all invalid attribute combinations.
E_unsupported_attribute_name 0xE11E memory_read() or memory_write() was called with an unknown or unsupported attribute name in the attrib argument.
E_unsupported_attribute_value 0xE11F memory_read() or memory_write() was called with a valid attribute name, but the value specified is unsupported or invalid, regardless of the values of other attributes, or has the wrong type.
E_unsupported_breakpoint_type 0xE121 breakpoint_set() was called with an unknown or unsupported breakpoint type.
E_unsupported_mode 0xE12E A function was called with an unknown or unsupported mode argument, for example eventRingBuffer_init().
E_unsupported_translation 0xE125 memory_translateAddress() was called with an unsupported pair of memory spaces. Models usually only support translations for very specific pairs of memory spaces and only in certain directions, for example only virtual to physical.
E_value_not_available 0xE144 Only returned in the error field in MemoryReadResult or ResourceReadResult. The memory value is currently not available and cannot even be approximated. A load instruction from this address would have succeeded. For example, this can happen when an instance is not in a debuggable state.
E_writing_init_time_parameter 0xE128 resource_write() was called on an initialization-time parameter, which can only be set before simulation instantiation and are read-only after that.
Non-ConfidentialPDF file icon PDF version101196_0100_03_en
Copyright © 2018, 2019 Arm Limited or its affiliates. All rights reserved.