From 6e3e4d70d47a8beb7d7e1ac10be69cc2924b9e8d Mon Sep 17 00:00:00 2001 From: Jeff Fan Date: Mon, 16 Sep 2013 08:42:59 +0000 Subject: 1. Read 32bit CPU Init APIC ID from CPUID leaf B in XAPIC mode. 2. Read CPU APIC ID from CPUID leaf B in case CPU Init APIC ID is larger 255 in XAPIC mode. Signed-off-by: Jeff Fan Reviewed-by: Feng Tian git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14674 6f19259b-4bc3-4df7-8a09-765794883524 --- UefiCpuPkg/Include/Library/LocalApicLib.h | 4 ++-- UefiCpuPkg/Include/Register/LocalApic.h | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'UefiCpuPkg/Include') diff --git a/UefiCpuPkg/Include/Library/LocalApicLib.h b/UefiCpuPkg/Include/Library/LocalApicLib.h index ed847b9579..8960204876 100644 --- a/UefiCpuPkg/Include/Library/LocalApicLib.h +++ b/UefiCpuPkg/Include/Library/LocalApicLib.h @@ -4,7 +4,7 @@ Local APIC library assumes local APIC is enabled. It does not handles cases where local APIC is disabled. - Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials 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 @@ -78,7 +78,7 @@ SetApicMode ( /** Get the initial local APIC ID of the executing processor assigned by hardware upon power on or reset. - In xAPIC mode, the initial local APIC ID is 8-bit, and may be different from current APIC ID. + In xAPIC mode, the initial local APIC ID may be different from current APIC ID. In x2APIC mode, the local APIC ID can't be changed and there is no concept of initial APIC ID. In this case, the 32-bit local APIC ID is returned as initial APIC ID. diff --git a/UefiCpuPkg/Include/Register/LocalApic.h b/UefiCpuPkg/Include/Register/LocalApic.h index bb0e211dc7..f49e8f542f 100644 --- a/UefiCpuPkg/Include/Register/LocalApic.h +++ b/UefiCpuPkg/Include/Register/LocalApic.h @@ -1,7 +1,7 @@ /** @file IA32 Local APIC Definitions. - Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials 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 @@ -23,7 +23,9 @@ // // Definitions for CPUID instruction // +#define CPUID_SIGNATURE 0x0 #define CPUID_VERSION_INFO 0x1 +#define CPUID_EXTENDED_TOPOLOGY 0xB #define CPUID_EXTENDED_FUNCTION 0x80000000 #define CPUID_VIR_PHY_ADDRESS_SIZE 0x80000008 -- cgit v1.2.3