aboutsummaryrefslogtreecommitdiff
path: root/c_emulator/config.json
blob: 4b5fda27cab94c5d9990dd95d9a22321c9e063f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "codegen": {
        // Apply some default name mangling rules if true. If false,
        // mangle everything.
        "default_exports": true,
        // An array containing either ["identifier", "string"] or
        // "identifier". For the first case the identifier will be
        // rewritten into string in the generated C source. For the
        // second the identifier will be preserved without name
        // mangling.
        "exports": [],
        // Generic functions must always have name mangling applied
        // due to specialization. They can be renamed using ["symbol",
        // "string"] pairs in this array, where "symbol" is any
        // mangled symbol that appears in the generated C.
        "exports_mangled": [],
        // Include the following extra headers in the generated
        // C. Should be specified as either "<header.h>" or "header.h"
        "extra_headers": [
            "riscv_prelude.h",
            "riscv_platform.h"
        ],
        // An array of extra string lines that are added to the
        // sail_state struct.
        "extra_state": [],
        // The sail_state struct will be passed to the following array
        // of primops, which are specified via the "foo" string from
        // val id = "foo" : ... in Sail.
        "state_primops": []
    }
}