# HG changeset patch # User Paul Boddie # Date 1663023185 -7200 # Node ID 5e99f001636a9fb15976313e1e5c984befff4c04 # Parent 05940a064af7eacac990bc4f59ecee64e81b11c5 Introduced explicit opcode and padding types, these attempting to handle the IPC messages generated by L4Re. diff -r 05940a064af7 -r 5e99f001636a structure.c --- a/structure.c Thu Aug 11 23:57:02 2022 +0200 +++ b/structure.c Tue Sep 13 00:53:05 2022 +0200 @@ -89,7 +89,10 @@ { fprintf(fp, structure_prologue, "in", opname); if (protocol != NULL) - fprintf(fp, structure_opcode_member, L4_WORD_TYPE); + { + fprintf(fp, structure_opcode_member, L4_OPCODE_TYPE); + fprintf(fp, structure_opcode_padding_member, L4_OPCODE_PADDING_TYPE); + } write_declarations(param, IN_PARAMETER, WORD_CLASS, fp); fputs(structure_epilogue, fp); } diff -r 05940a064af7 -r 5e99f001636a templates.h --- a/templates.h Thu Aug 11 23:57:02 2022 +0200 +++ b/templates.h Tue Sep 13 00:53:05 2022 +0200 @@ -298,6 +298,9 @@ #define structure_opcode_member \ " %s _op;\n" +#define structure_opcode_padding_member \ +" %s _op_padding;\n" + #define structure_epilogue \ "};\n" diff -r 05940a064af7 -r 5e99f001636a types.h --- a/types.h Thu Aug 11 23:57:02 2022 +0200 +++ b/types.h Tue Sep 13 00:53:05 2022 +0200 @@ -1,7 +1,7 @@ /* * Type representations for interfaces. * - * Copyright (C) 2019 Paul Boddie + * Copyright (C) 2019, 2022 Paul Boddie * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -23,15 +23,16 @@ /* General capability type. */ -#define L4_CAP_TYPE "l4_cap_idx_t" +#define L4_CAP_TYPE "l4_cap_idx_t" /* A flexpage type that can hold extra information (such as the "hot spot"). */ -#define L4_FPAGE_TYPE "l4_snd_fpage_t" +#define L4_FPAGE_TYPE "l4_snd_fpage_t" -/* General word type. */ +/* IPC opcode type. */ -#define L4_WORD_TYPE "l4_umword_t" +#define L4_OPCODE_TYPE "l4_uint32_t" +#define L4_OPCODE_PADDING_TYPE "l4_uint32_t" /* Specifier values. */