On 02.11.21 11:43, Michal Orzel wrote:
Hi Juergen,On 01.11.2021 16:20, Juergen Gross wrote:Instead of repeating similar data multiple times use a single source file and a generator script for producing prototypes and call sequences of the hypercalls. As the script already knows the number of parameters used add generating a macro for populating an array with the number of parameters per hypercall. Signed-off-by: Juergen Gross <jgr...@suse.com>
...
+ # Generate call sequences and args array contents + for (ca in caller) { + if (caller[ca] != 1) + continue; + for (pl = 1; pl <= n_prios[ca]; pl++) + p_list[pl] = prio_list[ca, pl]; + asort(p_list, p_list, "@val_num_asc");Just to let you know: asort is a gawk built-in. I was trying to build your changes on my aarch64 chroot environment. I did not have gawk installed and I got an error when building xen: make[4]: Leaving directory '/home/micorz01/xen_main/xen/include' GEN include/xen/hypercall-defs.h awk: scripts/gen_hypercall.awk: line 308: function asort never defined Makefile:477: recipe for target 'include/xen/hypercall-defs.h' failed During configure step I did not get any failure that gawk is not installed. If you are making use of gawk built-ins, shouldn't configure test for it?
I just checked again and I think this is the only gawk specific feature I'm using. I'll replace asort() with a manual sort in order to drop the gawk dependency. Thanks for the notice, Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature