-
major 6 -
note 6Fixed a bug that caused a crash on the expression1 << 64(fixes HSD-1306575446). -
release 6 6012 -
note 6Thereadandwritetemplates have been moved from utility.dml to always be included into 1.2 DML files. Additionally they are now inherited by all registers and fields by default. If you now see a name clash onreadorwritetemplates, you will need to rename your user-code defined templates. -
release 6 6018 -
note 6Thegetandsetmethods are now shared in attributes inheriting from the DML 1.4 utility templates (bool_attretc.). -
release 6 6019 -
note 6Theimportstatement has been changed: If the path starts with./, the path is now interpreted relative to the directory of the importing file (fixes HSD-2209506845). -
note 6Fixed a bug that caused a bad warning and incorrect code when the operand tosizeofis an identifier that can be resolved both to a value and to a type. -
release 6 6024 -
note 6The project build environment is now sensitive to an environment variableDMLC_PORTING_TAG_FILE, which should be a filename. When defined, DMLC will create the file if it doesn't already exists, and then append data to the end of the file, containing machine-readable instructions on how to port the device to DML 1.4. The typical use case is to set this variable when building one or more modules, and feed the resulting file as input to theport-dml.pyscript. The -P command-line argument has also been changed: it now takes a filename argument, and can be used without -T. -
release 6 6026 -
note 6Changed the order in which registers are being reset upon hard_reset or soft_reset, and the ordering of the parametersmapped_registersandunmapped_registers. The order is still considered undefined, but in practice it now changes less randomly, and is equal on Simics 5 and Simics 6. -
note 6Fixed a bug in nestedforeachloops when traversing register arrays inside bank arrays (fixes HSD-1809370911). -
release 6 6031 -
note 6It is now permitted to use thenothrowannotation on a method override even if the overridden method does not. This is sometimes useful while porting a large code base to DML 1.4, because it allowsgetandsetmethods in common code to be declared as non-throwing, which is required by the DML 1.4 standard library. -
note 6Fixed a language inconsistency: When DML 1.4 code contains anifstatement inside a method body, and this code is imported from a DML 1.2 file, then the statement used to be interpreted as a DML 1.2ifstatement; it is now interpreted as a DML 1.4ifstatement as expected. The difference is that if theifcondition is constant, then DML 1.2 would discard the dead branch without checking for errors, while 1.4 evaluates both the live and dead branch. This change can give new compile errors in existing code; in this case, you can normally resolve the problem by changingifto#if. -
release 6 6036 -
note 6Field arrays are now fully supported and documented, and don't give compile warnings. -
note 6Fixed a DMLC crash when generating porting tags. -
note 6Add porting rule for uses of 1-bit fields as booleans; convertsif (f)intoif (f != 0). -
release 6 6041 -
note 6Fixed a problem with the templatecustom_time_eventfromdml12-compatibility.dml. -
release 6 6048 -
note 6Applying bitwise not (~) on a boolean value now gives a compile error. Previously it resulted in an unconditionally true value, which is not what you want. -
release 6 6049 -
note 6Fixed an issue with using endian integers as arguments in pointer arithmetic. -
note 6Fixed an issue preventing assignment from const layout-typed pointers. -
release 6 6050 -
note 6Taking the address of a bitfield type in a layout will now correctly give you a pointer of the bitfield type. -
release 6 6053 -
note 6Fixed a crash on methods markednothrowand multiple return arguments, returning a typed template or struct type (fixes HSD-18012036595). -
note 6The filedml12-compatibility.dmlnow adds a parametervaltofieldobjects. -
release 6 6054 -
note 6Unmapped registers names are now properly anonymized according to _confidentiality (fixes HSD-1508117636). -
release 6 6059 -
note 6Fixed a regression in use cases whereifhas a constant condition, and the taken branch consists of a variable declaration. I.e., if the codeif (true) local int x;appears in a scope, then the variablexis now added to that scope (fixes HSD-18013028128). -
release 6 6066 -
note 6If astaticvariable is declared within a method declared under an object array, it will now result in a separate instance of the variable for each instance of the containing object (fixes SIMICS-13738). -
release 6 6079 -
note 6It is no longer possible to override theloggroupparameter inside agroupobject. -
note 6Added documentation of thenothrowannotation for methods (fixes HSD-18012035545). -
release 6 6082 -
note 6Fixed a compile error when a DML 1.2 device imports a DML 1.4 file that declares asavedvariable inside a register or field (fixes SIMICS-17201). -
release 6 6096 -
note 6Fixed an issue causing assertion error when accessing the register info of a 1.2 multi-dimensional bank array (fixes SIMICS-17308). -
release 6 6100 -
note 6Added the--state-change-dml12flag, allowing the use of an incomplete version of state change notifiers in DML 1.2 devices (fixes SIMICS-17952). -
release 6 6122 -
note 6Fixed an issue when using the--state-change-dml12flag together with the--split-c-fileflag (fixes SIMICS-17975). -
release 6 6124 -
note 6Fixed a few issues where confidential information could be leaked through non-confidential children of confidential objects. Specifically, these issues occurred with event objects belonging to confidential registers,aftercalls to methods belonging to confidential objects, and accessingqnameof non-confidential children belonging to confidential objects.A warning is now emitted when
qnameof a non-confidential child of a confidential object is used outside oflogstatements (fixes SIMICS-18428). -
release 6 6132 -
note 6Like in DML 1.4, objects of typeportcan now be placed insidegroupobjects. However,bankobjects are still restricted to top level (fixes SIMICS-19009). The new object typesubobjectis not directly accessible in DML 1.2, but it is permitted to import DML 1.4 code that declaressubobjectobjects. -
release 6 6149 -
note 6Add porting rule for uses ofundefinedas register offsets; replaces such uses withunmapped_offset(fixes SIMINT-1486). -
release 6 6158 -
note 6Fixed issue where certain parameters defined in DML 1.4 modules couldn't be referenced within DML 1.2 modules without the use of$. -
release 6 6160 -
note 6Add porting rule to convert theint1type intouint1in DML 1.4, which better resembles how the type works in 1.2. -
release 6 6213 -
note 6Improve porting rules for method return values: In some simple cases, avoid storing the method's return value in an intermediate local variable. -
release 6 6215 -
note 6If a bank declared withuse_io_memory=falsein a DML 1.4 file is imported from a DML 1.2 device, using thedml12-compatibility.dmllibrary, then a call to thetransaction_accessmethod will now trigger a proper bank access. Also, if a bank uses thedml12_compat_io_memory_accesstemplate, then overrides of thetransaction_accessmethod will be honored. This simplifies future transition to the Simics 7 API. -
release 6 6218 -
major 7 -
release 6 6316 -
release 7 7027 -
release 7 7029 -
release 6 6320 -
release 7 7032 -
release 6 6321 -
release 7 7033 -
release 6 6324