Previous - Up - Next

5.1   Modules, Classes, and Objects

DML hides much of Simics concepts to make the development of device models easier. For example, DML takes care of all module initialization, so nothing needs to be performed when a DML module is loaded or unloaded in Simics.

Each DML file mentioned in the module's Makefile defines a Simics class automatically. The class name is provide by the device statement at the beginning of the DML file:

device my-device;

Unless they are static, all data declared in the DML file are automatically defined as object-scope data, which means that DML defines automatically the class structure from which objects will be instantiated. For example:

data int link_id;

defines a link_id variable in the object structure.

Previous - Up - Next