On 2025-12-10 11:32, Andrew Cooper wrote:
On 10/12/2025 8:08 am, Jan Beulich wrote:
On 09.12.2025 22:47, Jason Andryuk wrote:
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -173,6 +173,12 @@
         _edevice = .;        \
    } :text
+#define SCHEDULER_ARRAY \
+       . = ALIGN(8);                 \
While indeed it was 8 in all original locations, I question that for Arm32
(and a possible future RV32, for example); imo it wants to be ...

+       __start_schedulers_array = .; \
+       *(.data.schedulers)           \
+       __end_schedulers_array = .;
+
  #ifdef CONFIG_HYPFS
  #define HYPFS_PARAM              \
         . = ALIGN(POINTER_ALIGN); \
... exactly like this. Preferably with that change (happy to carry out while
committing, alongside a respective addition to the description, so long as
there's agreement):
Reviewed-by: Jan Beulich <[email protected]>

I thought the same.  struct scheduler is entirely pointers, and one
unsigned int.

I'm pretty sure that this "array" predates the introduction of
POINTER_ALIGN.

So yes, with it converted to POINTER_ALIGN, Reviewed-by: Andrew Cooper
<[email protected]>

Converting to POINTER_ALIGN works for me.

Thanks,
Jason

Reply via email to