diff --git a/source/tool/chipsec/hal/acpi.py b/source/tool/chipsec/hal/acpi.py index b96b5b55..6921b9c6 100644 --- a/source/tool/chipsec/hal/acpi.py +++ b/source/tool/chipsec/hal/acpi.py @@ -221,16 +221,13 @@ class ACPI: rsdp_buf = self.cs.mem.read_physical_mem( rsdp_pa, ACPI_RSDP_EXT_SIZE) rsdp = RSDP(rsdp_buf) return rsdp - + # - # Searches for Root System Description Pointer (RSDP) in various locations for legacy/EFI systems + # Check RSDP in Extended BIOS Data Area # - def find_RSDP( self ): - rsdp_pa = None - rsdp = None - # - # Check RSDP in Extended BIOS Data Area first - # + def _find_RSDP_in_EBDA(self): + rsdp_pa = None + rsdp = None if logger().HAL: logger().log( "[acpi] searching RSDP in EBDA.." ) ebda_ptr_addr = 0x40E ebda_addr = struct.unpack('> 4) + elif pa_lo >= self.EBDA_ADDRESS and pa_lo < 0xA0000: + return "\xFF" * length + elif pa_lo == 0xE0000: return self.RSDP_DESCRIPTOR[:length] elif pa_lo == 0x200: return self.RSDT_DESCRIPTOR[:length]