On 3/17/25 4:40 PM, Jan Beulich wrote:
On 11.03.2025 17:19, Oleksii Kurochko wrote:
Based on the code from [1] provided by Romain Caritey from Microchip
with some minor changes():
"Based on", to me at least, suggests an import from some other project. The
reference looks to be to a Xen tree though. With that, a proper description
would then be needed here, rather than a list of differences.
Sorry, but I don't understand fully what kind of description is needed? Could
you please give me some pointers?
+};
+
+static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
+{
+ if ( aplic_info.node )
+ {
+ printk("XEN doesn't support more than one S mode APLIC\n");
+ return -ENODEV;
+ }
+
+ /* don't process if APLIC node is not for S mode */
+ if ( dt_get_property(node, "riscv,children", NULL) )
+ return -ENODEV;
+
+ aplic_info.node = node;
+
+ return 0;
+}
+
+static const struct dt_device_match aplic_dt_match[] __initconst =
+{
+ DT_MATCH_COMPATIBLE("riscv,aplic"),
Iirc this requires use of __initconstrel, which would also be nice to
be put between type and identifier.
Could you please explain why do we need __initconstrel? Arm uses only
__initconst
for such definitions.
Thanks in advance.
~ Oleksii