Did this get merged somewhere? El lun, 26 ene 2026 a la(s) 8:03 a.m., Kohei Tokunaga ( [email protected]) escribió:
> Since WebAssembly instructions vary in size and can include single-byte > instructions, TCG_TARGET_INSN_UNIT_SIZE is set to 1. > > Signed-off-by: Kohei Tokunaga <[email protected]> > --- > MAINTAINERS | 5 ++++ > tcg/wasm64/tcg-target.h | 61 +++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 66 insertions(+) > create mode 100644 tcg/wasm64/tcg-target.h > > V4: > - Removed tcg-target-reg-bits.h as the 32bit support has been removed and > TCG_TARGET_REG_BITS is no longer needed. > > diff --git a/MAINTAINERS b/MAINTAINERS > index c1e586c58f..470b15eeb7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4107,6 +4107,11 @@ F: tcg/tci/ > F: tcg/tci.c > F: disas/tci.c > > +WebAssembly TCG target > +M: Kohei Tokunaga <[email protected]> > +S: Maintained > +F: tcg/wasm64/ > + > Block drivers > ------------- > VMDK > diff --git a/tcg/wasm64/tcg-target.h b/tcg/wasm64/tcg-target.h > new file mode 100644 > index 0000000000..f00761d19f > --- /dev/null > +++ b/tcg/wasm64/tcg-target.h > @@ -0,0 +1,61 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Tiny Code Generator for QEMU > + * > + * Based on tci/tcg-target.h > + * > + * Copyright (c) 2009, 2011 Stefan Weil > + * > + * Permission is hereby granted, free of charge, to any person obtaining > a copy > + * of this software and associated documentation files (the "Software"), > to deal > + * in the Software without restriction, including without limitation the > rights > + * to use, copy, modify, merge, publish, distribute, sublicense, and/or > sell > + * copies of the Software, and to permit persons to whom the Software is > + * furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice shall be > included in > + * all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > OTHER > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > ARISING FROM, > + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS > IN > + * THE SOFTWARE. > + */ > + > +#ifndef TCG_TARGET_H > +#define TCG_TARGET_H > + > +#define TCG_TARGET_INSN_UNIT_SIZE 1 > +#define MAX_CODE_GEN_BUFFER_SIZE ((size_t)-1) > + > +/* Number of registers available. */ > +#define TCG_TARGET_NB_REGS 16 > + > +/* List of registers which are used by TCG. */ > +typedef enum { > + TCG_REG_R0 = 0, > + TCG_REG_R1, > + TCG_REG_R2, > + TCG_REG_R3, > + TCG_REG_R4, > + TCG_REG_R5, > + TCG_REG_R6, > + TCG_REG_R7, > + TCG_REG_R8, > + TCG_REG_R9, > + TCG_REG_R10, > + TCG_REG_R11, > + TCG_REG_R12, > + TCG_REG_R13, > + TCG_REG_R14, > + TCG_REG_R15, > + > + TCG_REG_TMP = TCG_REG_R13, > + TCG_AREG0 = TCG_REG_R14, > + TCG_REG_CALL_STACK = TCG_REG_R15, > +} TCGReg; > + > +#endif /* TCG_TARGET_H */ > -- > 2.43.0 >
