> -----Original Message----- > From: Taylor Simpson <tsimp...@quicinc.com> > Sent: Mittwoch, 21. Dezember 2022 21:06 > To: Marco Liebel <mlie...@qti.qualcomm.com>; Marco Liebel (QUIC) > <quic_mlie...@quicinc.com>; qemu-devel@nongnu.org > Cc: Brian Cain <bc...@quicinc.com> > Subject: RE: [PATCH v2] Hexagon (target/hexagon) implement mutability > mask for GPRs > > > > > -----Original Message----- > > From: Marco Liebel <mlie...@qti.qualcomm.com> > > Sent: Wednesday, December 21, 2022 1:34 PM > > To: Taylor Simpson <tsimp...@quicinc.com>; Marco Liebel (QUIC) > > <quic_mlie...@quicinc.com>; qemu-devel@nongnu.org > > Cc: Brian Cain <bc...@quicinc.com> > > Subject: RE: [PATCH v2] Hexagon (target/hexagon) implement mutability > > mask for GPRs > > > > > > +#define WRITE_REG_IN_PACKET(reg_name, output, input) \ > > > > + asm volatile("{ " reg_name " = %1 }\n\t" \ > > > > > > This is no different from the WRITE_REG above. Instructions on a > > > line with no curly braces are a single packet. > > > > > > > Understood. The feedback on Brian's patch said to write tests that do > > transfers in a packet. Should I write some? (Just not in the way I did > > it above) > > Put some more instructions in the packet with the assignment. I recommend > a read from the same register and verify you get the old value. >
Reading and writing a control register in a single packet isn't possible, because CR instructions can only be executed in slot 3. I was thinking to put a nop inside the packet, just so the packet gets generated. Or is there something else that's useful, other than reading the previous value?