Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <
20200204160028.16211-1-pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+#!/usr/bin/env python3
+
from __future__ import print_function
#
# Option ROM signing utility
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()