msr: Add new MSR modules (rdmsr/wrmsr)
In order to be able to read from and write to model-specific registers, two new modules are added. They are i386 specific, as the cpuid module. rdmsr module registers the command rdmsr that allows reading from a MSR. wrmsr module registers the command wrmsr that allows writing to a MSR. wrmsr module is disabled if UEFI secure boot is enabled. Please note that on SMP systems, interacting with a MSR that has a scope per hardware thread, implies that the value only applies to the particular cpu/core/thread that ran the command. Also, if you specify a reserved or unimplemented MSR address, it will cause a general protection exception (which is not currently being handled) and the system will reboot. Signed-off-by: Jesús Diéguez Fernández <jesusdf@gmail.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
8d417db48d
commit
a728cd4d1d
7 changed files with 324 additions and 7 deletions
|
@ -43,7 +43,7 @@ static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
|
|||
static grub_efi_shim_lock_protocol_t *sl;
|
||||
|
||||
/* List of modules which cannot be loaded if UEFI secure boot mode is enabled. */
|
||||
static const char * const disabled_mods[] = {"iorw", "memrw", NULL};
|
||||
static const char * const disabled_mods[] = {"iorw", "memrw", "wrmsr", NULL};
|
||||
|
||||
static grub_err_t
|
||||
shim_lock_init (grub_file_t io, enum grub_file_type type,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue