On Mon, 11 Aug 2025 at 20:37, Vacha Bhavsar <vacha.bhav...@oss.qualcomm.com> wrote: > > This patch increases the value of the MAX_PACKET_LEGNTH to > 131104 from 4096 to allow the GDBState.line_buf to be large enough > to accommodate the full contents of the SME ZA storage when the > vector length is maximal. This is in preparation for a related > patch that allows SME register visibility through remote GDB > debugging. > > Signed-off-by: Vacha Bhavsar <vacha.bhav...@oss.qualcomm.com> > --- > Changes since v4: > - the value for MAX_PACKET_LENGTH is changed from 131100 to > 131104 to align with a similar update made to gdbserver > --- > gdbstub/internals.h | 22 +++++++++++++++++++++- > 1 file changed, 21 insertions(+), 1 deletion(-) > > diff --git a/gdbstub/internals.h b/gdbstub/internals.h > index bf5a5c6302..87f64b6318 100644 > --- a/gdbstub/internals.h > +++ b/gdbstub/internals.h > @@ -11,7 +11,27 @@ > > #include "exec/cpu-common.h" > > -#define MAX_PACKET_LENGTH 4096 > +/* > +* Most "large" transfers (e.g. memory reads, feature XML > +* transfer) have mechanisms in the gdb protocol for splitting > +* them. However, register values in particular cannot currently > +* be split. This packet size must therefore be at least big enough > +* for the worst-case register size. Currently that is Arm SME > +* ZA storage with a 256x256 byte value. We also must account > +* for the conversion from raw data to hex in gdb_memtohex(), > +* which writes 2 * size bytes, and for other protocol overhead > +* including command, register number and checksum which add > +* another 4 bytes of overhead. However, to be consistent with > +* the changes made in gdbserver to address this same requirement, > +* we add a total of 32 bytes to account for protocol overhead > +* (unclear why specifically 32 bytes), bringing the value of > +* MAX_PACKET_LENGTH to 2 * 256 * 256 + 32 = 131104. > +* > +* The commit making this change for gdbserver can be found here: > +* https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h= > +* b816042e88583f280ad186ff124ab84d31fb592b > +*/ > +#define MAX_PACKET_LENGTH 131104
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM