summary refs log tree commit diff stats
path: root/scripts/signrom.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/signrom.py')
-rwxr-xr-x[-rw-r--r--]scripts/signrom.py13
1 files changed, 4 insertions, 9 deletions
diff --git a/scripts/signrom.py b/scripts/signrom.py
index 313ee28a17..43693dba56 100644..100755
--- a/scripts/signrom.py
+++ b/scripts/signrom.py
@@ -1,4 +1,5 @@
-from __future__ import print_function
+#!/usr/bin/env python3
+
 #
 # Option ROM signing utility
 #
@@ -44,14 +45,8 @@ fout.write(data)
 
 checksum = 0
 for b in data:
-    # catch Python 2 vs. 3 differences
-    if isinstance(b, int):
-        checksum += b
-    else:
-        checksum += ord(b)
-checksum = (256 - checksum) % 256
-
-# Python 3 no longer allows chr(checksum)
+    checksum = (checksum - b) & 255
+
 fout.write(struct.pack('B', checksum))
 
 fin.close()