changes for legacy hardware

Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
This commit is contained in:
Sergey Isakov 2019-09-13 21:50:51 +03:00
parent 1a1d230d3e
commit cec0fcbb68
21 changed files with 75 additions and 152 deletions

6
BaseTools/Conf/tools_def.template Executable file → Normal file
View File

@ -2008,10 +2008,10 @@ DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --re
DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -Wno-unused-const-variable -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address -Os -flto
DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector -Wno-unused-but-set-variable "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector -Wno-unused-but-set-variable -mabi=ms "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -Os -flto
DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)

View File

@ -1,14 +1,8 @@
## @file ## @file
# 8254 timer driver that provides Timer Arch protocol. # 8254 timer driver that provides Timer Arch protocol.
# #
# Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials # SPDX-License-Identifier: BSD-2-Clause-Patent
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
# #
## ##

View File

@ -1,14 +1,8 @@
/** @file /** @file
Timer Architectural Protocol as defined in the DXE CIS Timer Architectural Protocol as defined in the DXE CIS
Copyright (c) 2005 - 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

View File

@ -1,14 +1,8 @@
/** @file /** @file
Private data structures Private data structures
Copyright (c) 2005 - 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
#ifndef _TIMER_H_ #ifndef _TIMER_H_

View File

@ -3,15 +3,9 @@
// //
// 8254 timer driver that provides Timer Arch protocol. // 8254 timer driver that provides Timer Arch protocol.
// //
// Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // SPDX-License-Identifier: BSD-2-Clause-Patent
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //
// **/ // **/

View File

@ -1,15 +1,9 @@
// /** @file // /** @file
// Timer Localized Strings and Content // Timer Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // SPDX-License-Identifier: BSD-2-Clause-Patent
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //
// **/ // **/

View File

@ -1,14 +1,8 @@
/** @file /** @file
This contains the installation function for the driver. This contains the installation function for the driver.
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

View File

@ -2,13 +2,7 @@
Driver implementing the Tiano Legacy 8259 Protocol Driver implementing the Tiano Legacy 8259 Protocol
Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

View File

@ -1,14 +1,8 @@
## @file ## @file
# 8259 Interrupt Controller driver that provides Legacy 8259 protocol. # 8259 Interrupt Controller driver that provides Legacy 8259 protocol.
# #
# Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials # SPDX-License-Identifier: BSD-2-Clause-Patent
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
# #
## ##
@ -29,7 +23,7 @@
CloverPkg.dec CloverPkg.dec
MdePkg/MdePkg.dec MdePkg/MdePkg.dec
IntelFrameworkPkg/IntelFrameworkPkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec
PcAtChipsetPkg/PcAtChipsetPkg.dec # PcAtChipsetPkg/PcAtChipsetPkg.dec
[LibraryClasses] [LibraryClasses]
UefiBootServicesTableLib UefiBootServicesTableLib

View File

@ -3,15 +3,9 @@
// //
// 8259 Interrupt Controller driver that provides Legacy 8259 protocol. // 8259 Interrupt Controller driver that provides Legacy 8259 protocol.
// //
// Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // SPDX-License-Identifier: BSD-2-Clause-Patent
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //
// **/ // **/

View File

@ -1,15 +1,9 @@
// /** @file // /** @file
// Legacy8259 Localized Strings and Content // Legacy8259 Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // SPDX-License-Identifier: BSD-2-Clause-Patent
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //
// **/ // **/

View File

@ -1,14 +1,8 @@
/** @file /** @file
UEFI Component Name(2) protocol implementation for IsaAcpi driver. UEFI Component Name(2) protocol implementation for IsaAcpi driver.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
#include "PcatIsaAcpi.h" #include "PcatIsaAcpi.h"

View File

@ -2,13 +2,7 @@
ISA ACPI Protocol Implementation ISA ACPI Protocol Implementation
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
#include "PcatIsaAcpi.h" #include "PcatIsaAcpi.h"

View File

@ -2,13 +2,7 @@
# IsaAcpi driver to install EFI_ISA_ACPI_PROTOCOL. # IsaAcpi driver to install EFI_ISA_ACPI_PROTOCOL.
# #
# Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials # SPDX-License-Identifier: BSD-2-Clause-Patent
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
# #
# #
## ##
@ -24,9 +18,10 @@
ENTRY_POINT = PcatIsaAcpiDriverEntryPoint ENTRY_POINT = PcatIsaAcpiDriverEntryPoint
[Packages] [Packages]
CloverPkg.dec
MdePkg/MdePkg.dec MdePkg/MdePkg.dec
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
PcAtChipsetPkg/PcAtChipsetPkg.dec # PcAtChipsetPkg/PcAtChipsetPkg.dec
[LibraryClasses] [LibraryClasses]
UefiDriverEntryPoint UefiDriverEntryPoint

View File

@ -3,15 +3,9 @@
// //
// PCAT ISA ACPI driver for a Generic PC Platform. // PCAT ISA ACPI driver for a Generic PC Platform.
// //
// Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // SPDX-License-Identifier: BSD-2-Clause-Patent
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //
// **/ // **/

View File

@ -1,15 +1,9 @@
// /** @file // /** @file
// IsaAcpi Localized Strings and Content // IsaAcpi Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // SPDX-License-Identifier: BSD-2-Clause-Patent
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //
// **/ // **/

View File

@ -1,14 +1,8 @@
/** @file /** @file
EFI PCAT ISA ACPI Driver for a Generic PC Platform EFI PCAT ISA ACPI Driver for a Generic PC Platform
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

View File

@ -1,14 +1,8 @@
/** @file /** @file
EFI PCAT ISA ACPI Driver for a Generic PC Platform EFI PCAT ISA ACPI Driver for a Generic PC Platform
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials SPDX-License-Identifier: BSD-2-Clause-Patent
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

View File

@ -66,8 +66,8 @@ RtcRead (
IN UINT8 Address IN UINT8 Address
) )
{ {
IoWrite8 (PcdGet8 (PcdRtcIndexRegister), (UINT8) (Address | (UINT8) (IoRead8 (PcdGet8 (PcdRtcIndexRegister)) & 0x80))); IoWrite8 (PCAT_RTC_ADDRESS_REGISTER, (UINT8) (Address | (UINT8) (IoRead8 (PCAT_RTC_ADDRESS_REGISTER) & 0x80)));
return IoRead8 (PcdGet8 (PcdRtcTargetRegister)); return IoRead8 (PCAT_RTC_DATA_REGISTER);
} }
/** /**
@ -84,8 +84,8 @@ RtcWrite (
IN UINT8 Data IN UINT8 Data
) )
{ {
IoWrite8 (PcdGet8 (PcdRtcIndexRegister), (UINT8) (Address | (UINT8) (IoRead8 (PcdGet8 (PcdRtcIndexRegister)) & 0x80))); IoWrite8 (PCAT_RTC_ADDRESS_REGISTER, (UINT8) (Address | (UINT8) (IoRead8 (PCAT_RTC_ADDRESS_REGISTER) & 0x80)));
IoWrite8 (PcdGet8 (PcdRtcTargetRegister), Data); IoWrite8 (PCAT_RTC_DATA_REGISTER, Data);
} }
/** /**
@ -124,7 +124,7 @@ PcRtcInit (
// Make sure Division Chain is properly configured, // Make sure Division Chain is properly configured,
// or RTC clock won't "tick" -- time won't increment // or RTC clock won't "tick" -- time won't increment
// //
RegisterA.Data = FixedPcdGet8 (PcdInitialValueRtcRegisterA); RegisterA.Data = RTC_INIT_REGISTER_A;
RtcWrite (RTC_ADDRESS_REGISTER_A, RegisterA.Data); RtcWrite (RTC_ADDRESS_REGISTER_A, RegisterA.Data);
// //
@ -139,8 +139,16 @@ PcRtcInit (
// //
// Clear RTC register D // Clear RTC register D
//patch by nms42
// Modification of "read only" bit Vrt considered harmful.
// Peculiar RTC implementations have VRT bit writable.
// Writing 0 to Vrt bit produce a bunch of hardware
// events.
// //
RegisterD.Data = FixedPcdGet8 (PcdInitialValueRtcRegisterD); // RegisterD.Data = RTC_INIT_REGISTER_D;
RegisterD.Data = RtcRead(RTC_ADDRESS_REGISTER_D) | RTC_INIT_REGISTER_D;
// RegisterD.Bits.Reserved = RTC_INIT_REGISTER_D;
RtcWrite (RTC_ADDRESS_REGISTER_D, RegisterD.Data); RtcWrite (RTC_ADDRESS_REGISTER_D, RegisterD.Data);
// //
@ -172,7 +180,7 @@ PcRtcInit (
// Set RTC configuration after get original time // Set RTC configuration after get original time
// The value of bit AIE should be reserved. // The value of bit AIE should be reserved.
// //
RegisterB.Data = FixedPcdGet8 (PcdInitialValueRtcRegisterB) | (RegisterB.Data & BIT5); RegisterB.Data = RTC_INIT_REGISTER_B | (RegisterB.Data & BIT5);
RtcWrite (RTC_ADDRESS_REGISTER_B, RegisterB.Data); RtcWrite (RTC_ADDRESS_REGISTER_B, RegisterB.Data);
// //
@ -210,13 +218,6 @@ PcRtcInit (
Status = RtcTimeFieldsValid (&Time); Status = RtcTimeFieldsValid (&Time);
} }
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
//
// Report Status Code to indicate that the RTC has bad date and time
//
REPORT_STATUS_CODE (
EFI_ERROR_CODE | EFI_ERROR_MINOR,
(EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_BAD_DATE_TIME)
);
Time.Second = RTC_INIT_SECOND; Time.Second = RTC_INIT_SECOND;
Time.Minute = RTC_INIT_MINUTE; Time.Minute = RTC_INIT_MINUTE;
Time.Hour = RTC_INIT_HOUR; Time.Hour = RTC_INIT_HOUR;

View File

@ -41,6 +41,9 @@ typedef struct {
extern PC_RTC_MODULE_GLOBALS mModuleGlobal; extern PC_RTC_MODULE_GLOBALS mModuleGlobal;
#define PCAT_RTC_ADDRESS_REGISTER 0x70
#define PCAT_RTC_DATA_REGISTER 0x71
// //
// Dallas DS12C887 Real Time Clock // Dallas DS12C887 Real Time Clock
// //
@ -68,6 +71,17 @@ extern PC_RTC_MODULE_GLOBALS mModuleGlobal;
#define RTC_INIT_DAY 1 #define RTC_INIT_DAY 1
#define RTC_INIT_MONTH 1 #define RTC_INIT_MONTH 1
//
// Register initial values
//
#define RTC_INIT_REGISTER_A 0x26
#define RTC_INIT_REGISTER_B 0x02
#ifdef AMD_SUPPORT
#define RTC_INIT_REGISTER_D 0x80
#else
#define RTC_INIT_REGISTER_D 0x0
#endif
#pragma pack(1) #pragma pack(1)
// //
// Register A // Register A

View File

@ -133,6 +133,9 @@ InitializePcRtc (
Status = PcRtcInit (&mModuleGlobal); Status = PcRtcInit (&mModuleGlobal);
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
if (EFI_ERROR(Status)) {
return Status;
}
Status = gBS->CreateEventEx ( Status = gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL, EVT_NOTIFY_SIGNAL,
@ -143,6 +146,9 @@ InitializePcRtc (
&Event &Event
); );
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
if (EFI_ERROR(Status)) {
return Status;
}
Status = gBS->CreateEventEx ( Status = gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL, EVT_NOTIFY_SIGNAL,
@ -153,6 +159,9 @@ InitializePcRtc (
&Event &Event
); );
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
if (EFI_ERROR(Status)) {
return Status;
}
gRT->GetTime = PcRtcEfiGetTime; gRT->GetTime = PcRtcEfiGetTime;
gRT->SetTime = PcRtcEfiSetTime; gRT->SetTime = PcRtcEfiSetTime;