Fixing issues in helper/modules that are caused by some versions of windows blocking runtime access to UEFI varialbes. Also fixed issue print_buffer issue when using --hal.
Signed-off-by: Nathaniel Mitchell <nathaniel.p.mitchell@intel.com>
Moved sfdp to common configuration
updated spi hal to use register functions opposed to xml parsing
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
Use the Flash Descriptor Observability registers to OR in the settings
from the flash descriptor to the existing FRAP register fields.
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
S3 bootscript patching was broken because of incorrect format string
used in __str__ method of class op_io_pci_mem, which was raising KeyError.
Signed-off-by: Evgeny Zinoviev <me@ch1p.io>
* No need to convert to bytes
This led to creation of b'' characters in the file names.
* Correct get_nvar_name (was wrong on python 3)
* Fix NVAR variable store parsing
Fixes wrong guids and python3 compatibility. Working with bytes using python 2/3 compatible `_ord` function.
* Really fix python3 EVSA variable issue
* Fix blank header check (python 3)
* Initial SMBIOS HAL and Command
- Only searches for the Entry Point structure
- Currently only detects 2.x structures correctly
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Added support for 64bit 3.x entry point
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Updated command processing
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Added ability to parse structures based on header
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Updated command processing
- Made command processing a bit more flexible
- Improved logging messages
- Added place holders for future functionality
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Added ability to get structures by type
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Added string extraction support
- Also added some initial code for decoding type 0 structure information
- Updated interface to make things cleaner
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Added decode support
- Only supports partial decode of Type 0 (2.0) structure
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Removed unused variable
- Also fixed tool name in timing string
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Adding basic BIOS Information module
- Adding module to get the BIOS Information SMBIOS data
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
* Python 3 updates
- Requires additional Python 3 UEFI HAL changes
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
If the VA in the UEFI System Table is not mapped the UEFI Runtime
Serivices Table PA and VA will be used to compute the UEFI Configuration
Table address using its VA.
This is a final attempt to get a valid address.
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
fix failure within decode_EFI_variables and print_efi_variable where characters are not ascii
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
Python3 failing `nvram_start = nvram_buf.find( sign )` within py3 because sign is defined as a string in else condition line 619
Reference #681
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
Try to use Extended header logic is used and the filesize causes an error, fall back the filesize within version1 header
Remove whitespace within file
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
added COMPRESSION_ALGORITHMS within chipsec/defines
modified logic witin spi_uefi to rotate through valid algorithms until one is found
modified error within helpers where a list was put inside a list
modified linux helper to use subprocess.call opposed to subprocess.check_output
fixes issues #609, #610, #611
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
Changed find_EFI_Configuration_Table to not log error and only log if HAL logging is enabled
Changed get_number_threads_from_APIC_table to utilize return structure from get_parse_ACPI_table
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
A workaround for RWE driver causing CHIPSEC over Hyper-V to report SMRR is not supported regardless of used driver.
Since CHIPSEC manual states that it no longer supprts RwEverything driver on Windows, that workaround should be removed.
If this workaround is still needed for some reason, better tell RWE driver from CHIPSEC driver, and act accordingly.