1.1 --- a/structure.c Thu Aug 11 23:57:02 2022 +0200
1.2 +++ b/structure.c Tue Sep 13 00:53:05 2022 +0200
1.3 @@ -89,7 +89,10 @@
1.4 {
1.5 fprintf(fp, structure_prologue, "in", opname);
1.6 if (protocol != NULL)
1.7 - fprintf(fp, structure_opcode_member, L4_WORD_TYPE);
1.8 + {
1.9 + fprintf(fp, structure_opcode_member, L4_OPCODE_TYPE);
1.10 + fprintf(fp, structure_opcode_padding_member, L4_OPCODE_PADDING_TYPE);
1.11 + }
1.12 write_declarations(param, IN_PARAMETER, WORD_CLASS, fp);
1.13 fputs(structure_epilogue, fp);
1.14 }
2.1 --- a/templates.h Thu Aug 11 23:57:02 2022 +0200
2.2 +++ b/templates.h Tue Sep 13 00:53:05 2022 +0200
2.3 @@ -298,6 +298,9 @@
2.4 #define structure_opcode_member \
2.5 " %s _op;\n"
2.6
2.7 +#define structure_opcode_padding_member \
2.8 +" %s _op_padding;\n"
2.9 +
2.10 #define structure_epilogue \
2.11 "};\n"
2.12
3.1 --- a/types.h Thu Aug 11 23:57:02 2022 +0200
3.2 +++ b/types.h Tue Sep 13 00:53:05 2022 +0200
3.3 @@ -1,7 +1,7 @@
3.4 /*
3.5 * Type representations for interfaces.
3.6 *
3.7 - * Copyright (C) 2019 Paul Boddie <paul@boddie.org.uk>
3.8 + * Copyright (C) 2019, 2022 Paul Boddie <paul@boddie.org.uk>
3.9 *
3.10 * This program is free software; you can redistribute it and/or
3.11 * modify it under the terms of the GNU General Public License as
3.12 @@ -23,15 +23,16 @@
3.13
3.14 /* General capability type. */
3.15
3.16 -#define L4_CAP_TYPE "l4_cap_idx_t"
3.17 +#define L4_CAP_TYPE "l4_cap_idx_t"
3.18
3.19 /* A flexpage type that can hold extra information (such as the "hot spot"). */
3.20
3.21 -#define L4_FPAGE_TYPE "l4_snd_fpage_t"
3.22 +#define L4_FPAGE_TYPE "l4_snd_fpage_t"
3.23
3.24 -/* General word type. */
3.25 +/* IPC opcode type. */
3.26
3.27 -#define L4_WORD_TYPE "l4_umword_t"
3.28 +#define L4_OPCODE_TYPE "l4_uint32_t"
3.29 +#define L4_OPCODE_PADDING_TYPE "l4_uint32_t"
3.30
3.31 /* Specifier values. */
3.32