mirror of https://github.com/acidanthera/audk.git
Fix many bugs in DUET package and now DUET package is enabled for floppy successful.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5158 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
10590588cc
commit
be768885bf
|
@ -32,7 +32,7 @@ Abstract:
|
|||
#include <Library/UefiBootServicesTableLib.h>
|
||||
|
||||
#define CPU_EXCEPTION_DEBUG_OUTPUT 1
|
||||
#define CPU_EXCEPTION_VGA_SWITCH 1
|
||||
#define CPU_EXCEPTION_VGA_SWITCH 0
|
||||
|
||||
#define INTERRUPT_VECTOR_NUMBER 0x100
|
||||
|
||||
|
|
|
@ -13,13 +13,12 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
||||
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
||||
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
||||
DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
|
||||
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
||||
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
||||
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
||||
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/BaseReportStatusCodeLib/BaseReportStatusCodeLib.inf
|
||||
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
||||
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
||||
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
||||
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
||||
|
@ -49,6 +48,7 @@
|
|||
OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
||||
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
||||
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
||||
TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
||||
|
||||
[LibraryClasses.common.DXE_DRIVER]
|
||||
MemoryAllocationLib|MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf
|
||||
|
@ -79,15 +79,20 @@
|
|||
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
||||
SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf
|
||||
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
||||
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
||||
#TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
||||
DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
|
||||
|
||||
[LibraryClasses.common.UEFI_DRIVER]
|
||||
MemoryAllocationLib|MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf
|
||||
SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf
|
||||
DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
|
||||
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
||||
|
||||
[LibraryClasses.common.UEFI_APPLICATION]
|
||||
MemoryAllocationLib|MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf
|
||||
SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf
|
||||
DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
|
||||
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
||||
|
||||
[PcdsPatchableInModule]
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042
|
||||
|
@ -125,7 +130,7 @@
|
|||
|
||||
|
||||
DuetPkg/DataHubGenDxe/DataHubGen.inf
|
||||
DuetPkg/FvbRuntimeService/DUETFwh.inf
|
||||
#DuetPkg/FvbRuntimeService/DUETFwh.inf
|
||||
DuetPkg/EfiLdr/EfiLdr.inf
|
||||
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
||||
DuetPkg/CpuIoDxe/CpuIo.inf
|
||||
|
@ -156,12 +161,16 @@
|
|||
IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
|
||||
IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
|
||||
IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
|
||||
IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
|
||||
|
||||
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
||||
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
||||
|
||||
DuetPkg/BootSector/BootSector.inf
|
||||
FatPkg/EnhancedFatDxe/Fat.inf
|
||||
|
||||
[BuildOptions.common]
|
||||
MSFT:*_*_*_CC_FLAGS = /Fa$* /FAsc /FR$(@R).SBR
|
||||
MSFT:*_*_*_CC_FLAGS = /Fa$* /FAsc /FR$(@R).SBR
|
||||
MSFT:*_*_IA32_CC_FLAGS = /D EFI32
|
||||
MSFT:*_*_X64_CC_FLAGS = /D EFI64
|
|
@ -85,7 +85,7 @@ INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|||
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
|
||||
|
||||
INF DuetPkg/DataHubGenDxe/DataHubGen.inf
|
||||
INF DuetPkg/FvbRuntimeService/DUETFwh.inf
|
||||
#INF DuetPkg/FvbRuntimeService/DUETFwh.inf
|
||||
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
||||
INF DuetPkg/CpuIoDxe/CpuIo.inf
|
||||
INF DuetPkg/CpuDxe/Cpu.inf
|
||||
|
@ -115,18 +115,20 @@ INF DuetPkg/IsaAcpiDxe/IsaAcpi.inf
|
|||
INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
|
||||
INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
|
||||
INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
|
||||
INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
|
||||
|
||||
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
||||
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
||||
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||
|
||||
FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {
|
||||
SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi
|
||||
}
|
||||
#FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {
|
||||
# SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi
|
||||
# }
|
||||
|
||||
FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D {
|
||||
SECTION RAW = MdeModulePkg/Logo/Logo.bmp
|
||||
}
|
||||
#FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 {
|
||||
# SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
|
||||
# }
|
||||
|
||||
[Rule.Common.PEI_CORE]
|
||||
FILE PEI_CORE = $(NAMED_GUID) {
|
||||
|
|
|
@ -1164,7 +1164,7 @@ Returns:
|
|||
Status = EFI_NOT_FOUND;
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
VariableStoreEntry = FlashMapEntryData->Entries[0];
|
||||
|
||||
//
|
||||
|
|
|
@ -229,7 +229,9 @@ OnSimpleFileSystemInstall (
|
|||
NumBytes = Dev->Size;
|
||||
Status = File->Write (File, &NumBytes, VAR_DATA_PTR (Dev));
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
FileClose (File);
|
||||
// KEN: bugbug here if closing file, volume handle will be free,
|
||||
// and system will be hang when accessing volume handle in future.
|
||||
//FileClose (File);
|
||||
DEBUG ((EFI_D_ERROR, "FileStorage: Mapped to file!\n"));
|
||||
}
|
||||
|
||||
|
@ -407,7 +409,7 @@ OpenStore (
|
|||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Open the root directory of the volume
|
||||
//
|
||||
|
|
|
@ -1380,13 +1380,13 @@ GetFvbHeader (
|
|||
TRY_ASSIGN (Offset, FlashMapEntry->Offset);
|
||||
|
||||
DEBUG ((
|
||||
EFI_D_ERROR,
|
||||
EFI_D_INFO,
|
||||
"FlashMap HOB: BaseAddress = 0x%x, Length = 0x%x, ActuralLength = 0x%x, Offset = 0x%x\n",
|
||||
(UINTN) FlashMapSubEntry->Base, (UINTN) FlashMapSubEntry->Length,
|
||||
(UINTN) FlashMapEntry->ActuralSize, (UINTN) FlashMapEntry->Offset
|
||||
));
|
||||
DEBUG ((
|
||||
EFI_D_ERROR,
|
||||
EFI_D_INFO,
|
||||
"FlashMap HOB: VolumeId = 0x%lx, MappedFile = %s\n",
|
||||
(UINTN) FlashMapEntry->VolumeId, (UINTN) FlashMapEntry->FilePath
|
||||
));
|
||||
|
@ -1548,7 +1548,6 @@ Returns:
|
|||
EFI_STATUS Status;
|
||||
EFI_FW_VOL_INSTANCE *FwhInstance;
|
||||
EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader;
|
||||
VOID *HobList;
|
||||
EFI_PEI_HOB_POINTERS FirmwareVolumeHobList;
|
||||
UINT32 BufferSize;
|
||||
EFI_FV_BLOCK_MAP_ENTRY *PtrBlockMapEntry;
|
||||
|
@ -1569,12 +1568,6 @@ Returns:
|
|||
UINTN HeaderLength;
|
||||
BOOLEAN InstallSfsNotify;
|
||||
|
||||
Status = EfiGetSystemConfigurationTable (&gEfiHobListGuid, &HobList);
|
||||
//
|
||||
// No FV HOBs found
|
||||
//
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
HeaderLength = 0;
|
||||
InstallSfsNotify = FALSE;
|
||||
|
||||
|
@ -1644,7 +1637,7 @@ Returns:
|
|||
if (!FwVolHeader) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
CopyMem ((UINTN *) &(FwhInstance->VolumeHeader), (UINTN *) FwVolHeader, FwVolHeader->HeaderLength);
|
||||
FwVolHeader = &(FwhInstance->VolumeHeader);
|
||||
|
||||
|
@ -1665,11 +1658,12 @@ Returns:
|
|||
FwhInstance->MappedFile[0] = L'\0';
|
||||
}
|
||||
|
||||
|
||||
DEBUG ((EFI_D_INFO, "FirmVolume Found! BaseAddress=0x%lx, VolumeId=0x%x, MappedFile=%s, Size=0x%x\n",
|
||||
(UINTN) BaseAddress, VolumeId, MappedFile, ActuralSize));
|
||||
//
|
||||
// We may expose readonly FVB in future.
|
||||
//
|
||||
FwhInstance->WriteEnabled = TRUE;
|
||||
FwhInstance->WriteEnabled = TRUE; // Ken: Why enable write?
|
||||
EfiInitializeLock (&(FwhInstance->FvbDevLock), TPL_HIGH_LEVEL);
|
||||
|
||||
LbaAddress = (UINTN) FwhInstance->FvBase[0];
|
||||
|
|
|
@ -40,5 +40,5 @@ Abstract:
|
|||
#define NV_FTW_FVB_SIZE ((NV_FTW_WORKING_SIZE + NV_FTW_SPARE_SIZE + EFI_RUNTIME_UPDATABLE_FV_HEADER_LENGTH + FV_BLOCK_MASK) & ~FV_BLOCK_MASK)
|
||||
#define NV_FTW_FVB_BLOCK_NUM (NV_FTW_FVB_SIZE / FV_BLOCK_SIZE)
|
||||
|
||||
#define NV_STORAGE_FILE_PATH L"\\Efivar.bin"
|
||||
#define NV_STORAGE_FILE_PATH L".\\Efivar.bin"
|
||||
#endif // _EFI_FLASH_LAYOUT
|
||||
|
|
|
@ -755,7 +755,7 @@ Returns:
|
|||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
|
||||
|
||||
DevicePath = NULL;
|
||||
Status = gBS->HandleProtocol (
|
||||
DeviceHandle,
|
||||
|
@ -932,6 +932,7 @@ Returns:
|
|||
&gEfiGlobalVariableGuid,
|
||||
&DevicePathSize
|
||||
);
|
||||
|
||||
if (VarConout == NULL || VarConin == NULL) {
|
||||
//
|
||||
// Do platform specific PCI Device check and add them to ConOut, ConIn, ErrOut
|
||||
|
|
Loading…
Reference in New Issue