7 #define PROC_REGNAME(addr, name) name
8 #define PROC_FLDNAME(name) name
10 #define PROC_NAME(name) name
11 #define PROC_REFT(name) ref_t name
12 #define PROC_INIT(name) name(name)
14 #define PROC_REGMAP(name) regmap::name
15 #define PROC_FLDMAP(name) fldmap::name
17 #define PROC_REGNAMEMAP(name) { #name, ®map::name }
18 #define PROC_FLDNAMEMAP(name) { #name, &fldmap::name }
21 #define PROC_REGADDRMAP(name) \
22 { regmap::name.get_addr(), ®map::name }
24 #define PROC_REGPROP(name) \
25 .def_property_readonly(#name, [](const RegMap& self) -> const Register& { return self.name; })
27 #define PROC_FLDPROP(name) \
28 .def_property_readonly(#name, [](const FldMap& self) -> const Field& { return self.name; })