X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=PcAtChipsetPkg%2FIsaAcpiDxe%2FIsaAcpi.c;h=a580d55d6db4dddf19c685fd80508a56cd807d7d;hb=137ed15511e2045a7333e33ae7f1e873ce1961dd;hp=65b54d9134b13cb8a007ac86ce5e132f78d53963;hpb=18c97f53ea089437a3e053c834deb737ccbc9576;p=mirror_edk2.git diff --git a/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.c b/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.c index 65b54d9134..a580d55d6d 100644 --- a/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.c +++ b/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.c @@ -1,7 +1,7 @@ /** @file ISA ACPI Protocol Implementation -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2012, 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 @@ -20,6 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // // COM 1 UART Controller // +GLOBAL_REMOVE_IF_UNREFERENCED EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom1DeviceResources[] = { {EfiIsaAcpiResourceIo, 0, 0x3f8, 0x3ff}, {EfiIsaAcpiResourceInterrupt, 0, 4, 0}, @@ -29,6 +30,7 @@ EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom1DeviceResources[] = { // // COM 2 UART Controller // +GLOBAL_REMOVE_IF_UNREFERENCED EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom2DeviceResources[] = { {EfiIsaAcpiResourceIo, 0, 0x2f8, 0x2ff}, {EfiIsaAcpiResourceInterrupt, 0, 3, 0}, @@ -38,6 +40,7 @@ EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom2DeviceResources[] = { // // PS/2 Keyboard Controller // +GLOBAL_REMOVE_IF_UNREFERENCED EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiPs2KeyboardDeviceResources[] = { {EfiIsaAcpiResourceIo, 0, 0x60, 0x64}, {EfiIsaAcpiResourceInterrupt, 0, 1, 0}, @@ -47,6 +50,7 @@ EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiPs2KeyboardDeviceResources[] = { // // PS/2 Mouse Controller // +GLOBAL_REMOVE_IF_UNREFERENCED EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiPs2MouseDeviceResources[] = { {EfiIsaAcpiResourceIo, 0, 0x60, 0x64}, {EfiIsaAcpiResourceInterrupt, 0, 12, 0}, @@ -56,6 +60,7 @@ EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiPs2MouseDeviceResources[] = { // // Floppy Disk Controller // +GLOBAL_REMOVE_IF_UNREFERENCED EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiFloppyResources[] = { {EfiIsaAcpiResourceIo, 0, 0x3f0, 0x3f7}, {EfiIsaAcpiResourceInterrupt, 0, 6, 0}, @@ -63,18 +68,77 @@ EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiFloppyResources[] = { {EfiIsaAcpiResourceEndOfList, 0, 0, 0} }; +GLOBAL_REMOVE_IF_UNREFERENCED +EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiCom1Device = { + {EISA_PNP_ID(0x501), 0}, mPcatIsaAcpiCom1DeviceResources +}; // COM 1 UART Controller + +GLOBAL_REMOVE_IF_UNREFERENCED +EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiCom2Device = { + {EISA_PNP_ID(0x501), 1}, mPcatIsaAcpiCom2DeviceResources +}; // COM 2 UART Controller + +GLOBAL_REMOVE_IF_UNREFERENCED +EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiPs2KeyboardDevice = { + {EISA_PNP_ID(0x303), 0}, mPcatIsaAcpiPs2KeyboardDeviceResources +}; // PS/2 Keyboard Controller + +GLOBAL_REMOVE_IF_UNREFERENCED +EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiPs2MouseDevice = { + {EISA_PNP_ID(0x303), 1}, mPcatIsaAcpiPs2MouseDeviceResources +}; // PS/2 Mouse Controller + +GLOBAL_REMOVE_IF_UNREFERENCED +EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiFloppyADevice = { + {EISA_PNP_ID(0x604), 0}, mPcatIsaAcpiFloppyResources +}; // Floppy Disk Controller A: + +GLOBAL_REMOVE_IF_UNREFERENCED +EFI_ISA_ACPI_RESOURCE_LIST mPcatIsaAcpiFloppyBDevice = { + {EISA_PNP_ID(0x604), 1}, mPcatIsaAcpiFloppyResources +}; // Floppy Disk Controller B: + // // Table of ISA Controllers // -EFI_ISA_ACPI_RESOURCE_LIST gPcatIsaAcpiDeviceList[] = { - {{EISA_PNP_ID(0x501), 0}, mPcatIsaAcpiCom1DeviceResources }, // COM 1 UART Controller - {{EISA_PNP_ID(0x501), 1}, mPcatIsaAcpiCom2DeviceResources }, // COM 2 UART Controller - {{EISA_PNP_ID(0x303), 0}, mPcatIsaAcpiPs2KeyboardDeviceResources }, // PS/2 Keyboard Controller - {{EISA_PNP_ID(0x303), 1}, mPcatIsaAcpiPs2MouseDeviceResources }, // PS/2 Mouse Controller - {{EISA_PNP_ID(0x604), 0}, mPcatIsaAcpiFloppyResources }, // Floppy Disk Controller A: - {{EISA_PNP_ID(0x604), 1}, mPcatIsaAcpiFloppyResources }, // Floppy Disk Controller B: - {{0, 0}, NULL } // End if ISA Controllers -}; +EFI_ISA_ACPI_RESOURCE_LIST gPcatIsaAcpiDeviceList[7] = {{{0, 0}, NULL}}; + +/** + Initialize gPcatIsaAcpiDeviceList. +**/ +VOID +InitializePcatIsaAcpiDeviceList ( + VOID + ) +{ + UINTN Index; + + Index = 0; + if (PcdGetBool (PcdIsaAcpiCom1Enable)) { + CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiCom1Device, sizeof(mPcatIsaAcpiCom1Device)); + Index++; + } + if (PcdGetBool (PcdIsaAcpiCom2Enable)) { + CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiCom2Device, sizeof(mPcatIsaAcpiCom2Device)); + Index++; + } + if (PcdGetBool (PcdIsaAcpiPs2KeyboardEnable)) { + CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiPs2KeyboardDevice, sizeof(mPcatIsaAcpiPs2KeyboardDevice)); + Index++; + } + if (PcdGetBool (PcdIsaAcpiPs2MouseEnable)) { + CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiPs2MouseDevice, sizeof(mPcatIsaAcpiPs2MouseDevice)); + Index++; + } + if (PcdGetBool (PcdIsaAcpiFloppyAEnable)) { + CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiFloppyADevice, sizeof(mPcatIsaAcpiFloppyADevice)); + Index++; + } + if (PcdGetBool (PcdIsaAcpiFloppyBEnable)) { + CopyMem (&gPcatIsaAcpiDeviceList[Index], &mPcatIsaAcpiFloppyBDevice, sizeof(mPcatIsaAcpiFloppyBDevice)); + Index++; + } +} // // ISA ACPI Protocol Functions @@ -126,8 +190,8 @@ IsaDeviceLookup ( @param This Point to instance of EFI_ISA_ACPI_PROTOCOL @param Device Point to device ID instance - @retval EFI_NOT_FOUND Can not found the next Isa device. - @retval EFI_SUCESS Success retrieve the next Isa device for enumration. + @retval EFI_NOT_FOUND Can not found the next Isa device. + @retval EFI_SUCCESS Success retrieve the next Isa device for enumration. **/ EFI_STATUS @@ -157,7 +221,7 @@ IsaDeviceEnumerate ( @param OnOff TRUE for setting isa device power on, FALSE for setting isa device power off - @return EFI_SUCCESS Sucess to change power status for isa device. + @return EFI_SUCCESS Success to change power status for isa device. **/ EFI_STATUS EFIAPI @@ -222,7 +286,7 @@ IsaGetPossibleResource ( @param Device Point to device ID instance @param ResourceList Point to resources instances for given isa device - @return EFI_SUCESS Success to set resource. + @return EFI_SUCCESS Success to set resource. **/ EFI_STATUS @@ -243,7 +307,7 @@ IsaSetResource ( @param Device Point to device ID instance @param Enable Enable/Disable - @return EFI_SUCESS Success to enable/disable. + @return EFI_SUCCESS Success to enable/disable. **/ EFI_STATUS @@ -263,7 +327,7 @@ IsaEnableDevice ( @param This Point to instance of EFI_ISA_ACPI_PROTOCOL @param Device Point to device ID instance - @return EFI_SUCESS Success to initialize. + @return EFI_SUCCESS Success to initialize. **/ EFI_STATUS @@ -282,7 +346,7 @@ IsaInitDevice ( @param This Point to instance of EFI_ISA_ACPI_PROTOCOL - @return EFI_SUCESS Success to initialize ISA interface. + @return EFI_SUCCESS Success to initialize ISA interface. **/ EFI_STATUS