mirror of https://github.com/acidanthera/audk.git
Raise TPL to high to disable CPU interrupt before 8259 legacy base vector is changed, then restore TPL level at last when 8259 initialization is done.
Signed-off-by: Li Elvin <elvin.li@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13901 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
25bc832666
commit
4fde0f15aa
|
@ -123,8 +123,10 @@ Interrupt8259SetVectorBase (
|
|||
IN UINT8 SlaveBase
|
||||
)
|
||||
{
|
||||
UINT8 Mask;
|
||||
UINT8 Mask;
|
||||
EFI_TPL OriginalTpl;
|
||||
|
||||
OriginalTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);
|
||||
//
|
||||
// Set vector base for slave PIC
|
||||
//
|
||||
|
@ -211,6 +213,8 @@ Interrupt8259SetVectorBase (
|
|||
|
||||
IoWrite8 (LEGACY_8259_CONTROL_REGISTER_SLAVE, LEGACY_8259_EOI);
|
||||
IoWrite8 (LEGACY_8259_CONTROL_REGISTER_MASTER, LEGACY_8259_EOI);
|
||||
|
||||
gBS->RestoreTPL (OriginalTpl);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue