On Tue, Feb 07, 2023 at 03:21:04PM +0000, Andre Przywara wrote: > So far we used inline assembly to inject the actual instruction that > triggers the semihosting service. While this sounds elegant, as it's > really only about one instruction, it has some serious downsides: > - We need some barriers in place to force the compiler to issue writes > to a data structure before issuing the trap instruction. > - We need to convince the compiler to actually fill the structures that > we use pointers to. > - We need a memory clobber to avoid the compiler caching the data in > those structures, when semihosting writes data back. > - We need register arguments to make sure the function ID and the > pointer land in the right registers. > > This is all doable, but fragile and somewhat cumbersome. Since we now > have a separate function in an extra file anyway, we can do away with > all the magic and just write that in an actual assembly file. > This is much more readable and robust. > > Signed-off-by: Andre Przywara <andre.przyw...@arm.com> > Reviewed-by: Sean Anderson <sean.ander...@seco.com>
Applied to u-boot/next, thanks! -- Tom
signature.asc
Description: PGP signature