You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Patch R0.9 has been extensively tested and works well enough to allow for normal, error-free, multi-user operation of the TI System V/68 operating system and SPA-protected licensed software products,
without requiring an SPA password,
without requiring the SPA hardware to be installed,
without requiring valid software license keys,
and transparently appearing as a valid (512-user) installation.
Roadmap
Patch R1.0
An R1.0 version of this patch is planned that will ensure that the gspaid() function will always return a positive integer, even when no SPA is installed.
With patch R0.9 applied and no SPA installed, gspaid() returns -1, but does not set errno.
On a stock system, if any error is encountered, gspaid()returns -1 and doessets errno.
Patch R0.9 has been tested successfully against all software thus far, however, ensuring the gspaid() function always returns a positive integer is necessary for complete transparency and compatibility.
Post-R1.0
Xdelta3 VCDIFF patch
gbsed patch
GDOS-restorable pre-patched installation.
Documentation
This is an initial version of this documentation and describes only the patches to the kernel.
Future documentation should include additional details and enough context to allow an average user to patch the kernel and any necessary library and object files required for the patch to survive kernel re-linking.
Patches for 3.2.2 (JDIS image) kernel
IDA disassembly comparison
The following is an IDA disassembly comparison with control flow visualization of patch version R0.8.
(The rules below aren't perfectly adhered to, but, if you need to review them, surely you'll figure it out.)
When more than one change is present in an image pair, the changed lines are highlighted in red.
When only one change is present, the changed line is (usually) highlighted in light grey.
This is an earlier version of the patch, and will be updated soon.
spaopen()
original
patched
spaioctl()
original
patched
coca_cola()
original
patched
pfault()
original
patched
spathere()
original
patched
exece()
original
patched
radiff2 diff
The following is an r2 diff of patch R0.9 produced by radiff2 -r unix.orig unix.patched and can be applied with radare2.
The following is an r2 delta comparison of patch R0.9 produced by radiff2 -q -d unix.orig unix.patched | awk '{ printf("\n## "$1"\n- " $2"\n+ "$4"\n"); }'.
Each hex string is unique (within the kernel file) for easy patching using a hex editor.
The following is an r2 asm diff (assembly annotated diff) of patch R0.9 produced by lightly post-processing the output of radiff2 -q -a m68k -D unix.orig unix.patched.
The changed bytes are authoritative, notthe disassembly.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
TI System V/68 kernel patching guide
The following documents the TI System V/68 kernel patch (currently, versions "R0.8" and "R0.9").
Overview
Patch R0.9 has been extensively tested and works well enough to allow for normal, error-free, multi-user operation of the TI System V/68 operating system and SPA-protected licensed software products,
Roadmap
Patch R1.0
gspaid()
function will always return a positive integer, even when no SPA is installed.gspaid()
returns-1
, but does not seterrno
.gspaid()
returns-1
and does setserrno
.gspaid()
function always returns a positive integer is necessary for complete transparency and compatibility.Post-R1.0
Xdelta3
VCDIFF patchgbsed
patchDocumentation
Patches for 3.2.2 (JDIS image) kernel
IDA disassembly comparison
The following is an IDA disassembly comparison with control flow visualization of patch version R0.8.
(The rules below aren't perfectly adhered to, but, if you need to review them, surely you'll figure it out.)
spaopen()
spaioctl()
coca_cola()
pfault()
spathere()
exece()
radiff2 diff
The following is an r2 diff of patch R0.9 produced by
radiff2 -r unix.orig unix.patched
and can be applied withradare2
.radiff2 delta comparison
The following is an r2 delta comparison of patch R0.9 produced by
radiff2 -q -d unix.orig unix.patched | awk '{ printf("\n## "$1"\n- " $2"\n+ "$4"\n"); }'
.radiff2 delta
The following is an r2 delta of patch R0.9 produced by
radiff2 -r -d unix.orig unix.patched
and can be applied withradare2
.radiff2 asm diff
The following is an r2 asm diff (assembly annotated diff) of patch R0.9 produced by lightly post-processing the output of
radiff2 -q -a m68k -D unix.orig unix.patched
.The changed bytes are authoritative, not the disassembly.
Beta Was this translation helpful? Give feedback.
All reactions