mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-10 09:40:53 +01:00
changes for legacy hardware
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
This commit is contained in:
parent
1a1d230d3e
commit
cec0fcbb68
6
BaseTools/Conf/tools_def.template
Executable file → Normal file
6
BaseTools/Conf/tools_def.template
Executable file → Normal 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)
|
||||||
|
@ -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.
|
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -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_
|
||||||
|
@ -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.
|
|
||||||
//
|
//
|
||||||
// **/
|
// **/
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
//
|
//
|
||||||
// **/
|
// **/
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
|
||||||
//
|
//
|
||||||
// **/
|
// **/
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
//
|
//
|
||||||
// **/
|
// **/
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
|
||||||
//
|
//
|
||||||
// **/
|
// **/
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
//
|
//
|
||||||
// **/
|
// **/
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -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.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user