From e79f42afef4e99f32e1e14bfabedda788fc45b47 Mon Sep 17 00:00:00 2001 From: Erik Bjorge Date: Fri, 28 Jul 2017 15:39:03 -0700 Subject: [PATCH] Added error handling for bad register types. If a unknown register type is accessed via read_register or write_register an exception will be generated instead of failing silently. --- chipsec/chipset.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/chipsec/chipset.py b/chipsec/chipset.py index 85383766..68eb34e8 100644 --- a/chipsec/chipset.py +++ b/chipsec/chipset.py @@ -247,6 +247,8 @@ class DeviceNotFoundError(RuntimeError): class RegisterNotFoundError(RuntimeError): pass +class RegisterTypeNotFoundError(RuntimeError): + pass class Chipset: @@ -585,6 +587,8 @@ class Chipset: reg_value = self.msgbus.msgbus_reg_read( int(reg['port'],16), int(reg['offset'],16) ) elif RegisterType.MM_MSGBUS == rtype: reg_value = self.msgbus.mm_msgbus_reg_read(int(reg['port'],16), int(reg['offset'],16)) + else: + raise RegisterTypeNotFoundError("Register type not found: {}".format(rtype)) return reg_value @@ -621,6 +625,8 @@ class Chipset: self.msgbus.msgbus_reg_write( int(reg['port'],16), int(reg['offset'],16), reg_value ) elif RegisterType.MM_MSGBUS == rtype: self.msgbus.mm_msgbus_reg_write(int(reg['port'],16), int(reg['offset'],16), reg_value) + else: + raise RegisterTypeNotFoundError("Register type not found: {}".format(rtype)) def read_register_dict( self, reg_name): reg_value = self.read_register(reg_name)