as part of fixing bug #1252, I made the following commit: commit 95d3aa48bd080b75f7301784581a0c7541c3e7fc Author: Jacob Lifshay <programmerjake@gmail.com> Date: Tue Jan 16 01:18:58 2024 -0800 fixedsync.mdwn: change sync from v3.1B version to v3.0B version to use the v3.1B version requires fixing fields.text to use the new L and SC fields, which requires deciphering all the places where the current L (named L2) field is used and making sure they'll be correct still. using the old interpretation of sync should be correct, but less optimal, assuming OpenPower got their backwards compatibility correct. TODO: figure out if all uses of the L (named L2) field can be correctly expanded to 3 bits, or if any Libre-SOC instructions should still use the 2-bit version somewhere (in which case, the Libre-SOC instructions need to change to a new field name) TODO: make changes to match v3.1B: expand L to 3 bit, add SC, and adjust `sync` definition
I initially attempted to just expand L (named L2) and add SC, but ran into the issue that there are some entries in fields.text that I have no idea why they're there: # 1.6.7 X-FORM |0 |6 |7|8|9 |10 |11|12|13 |15|16|17 |20|21 |31 | | PO | /// | L2 | /| E | /// | XO | / | I couldn't find this in the v3.1B spec or find the E field anywhere else in openpower-isa.git, so I gave up for now and just switched sync to the v3.0B version, which should work well enough for now.