binutils-gdb/sim/pru
Dimitar Dimitrov fcd5cdd5ae sim: pru: Fix emulation of carry bit
The PRU architecture documentation [1] was used for the initial GNU
simulator implementation.  But recently [2] TI confirmed the carry
behaviour was wrongly documented.  In reality, the PRU carry behaves
like the carry in ARM processors.

This patch fixes simulator to align with latest recommendations from TI.

The new carry.s test was also validated to pass on real hardware -
a BeaglePlay board [3].  That test is a bit long because TI still
has not released official updates for the PRU documents.  And I wanted
to ensure simulator handles all edge cases exactly as the real hardware
does.

[1] https://www.ti.com/lit/pdf/spruij2
[2] https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1244359/sk-am64b-am64x-pru-assembler-how-works-this-bloody-carry
[3] https://www.beagleboard.org/boards/beagleplay

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2023-12-28 09:09:13 +02:00
..
ChangeLog-2021 sim: rename ChangeLog files to ChangeLog-2021 2021-08-17 20:27:36 -04:00
interp.c Update copyright year range in header of all files managed by GDB 2023-01-01 17:01:16 +04:00
local.mk sim: modules.c: fix generation after recent refactors 2023-01-15 20:55:48 -05:00
pru.h Update copyright year range in header of all files managed by GDB 2023-01-01 17:01:16 +04:00
pru.isa sim: pru: Fix emulation of carry bit 2023-12-28 09:09:13 +02:00
sim-main.h Update copyright year range in header of all files managed by GDB 2023-01-01 17:01:16 +04:00