Subversion Repositories Kolibri OS

Rev

Rev 1498 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1498 Rev 2216
Line 6... Line 6...
6
 
6
 
7
/******************************************************************************
7
/******************************************************************************
8
 *
8
 *
9
 * 1. Copyright Notice
9
 * 1. Copyright Notice
10
 *
10
 *
11
 * Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
11
 * Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp.
12
 * All rights reserved.
12
 * All rights reserved.
13
 *
13
 *
14
 * 2. License
14
 * 2. License
15
 *
15
 *
Line 139... Line 139...
139
static void *
139
static void *
140
AcpiDbGetPointer (
140
AcpiDbGetPointer (
141
    void                    *Target);
141
    void                    *Target);
Line -... Line 142...
-
 
142
 
-
 
143
 
-
 
144
/*
-
 
145
 * System handler information.
-
 
146
 * Used for Handlers command, in AcpiDbDisplayHandlers.
-
 
147
 */
-
 
148
#define ACPI_PREDEFINED_PREFIX          "%25s (%.2X) : "
-
 
149
#define ACPI_HANDLER_NAME_STRING               "%30s : "
-
 
150
#define ACPI_HANDLER_PRESENT_STRING                    "%-9s (%p)\n"
-
 
151
#define ACPI_HANDLER_NOT_PRESENT_STRING                "%-9s\n"
-
 
152
 
-
 
153
/* All predefined Address Space IDs */
-
 
154
 
-
 
155
static ACPI_ADR_SPACE_TYPE  AcpiGbl_SpaceIdList[] =
-
 
156
{
-
 
157
    ACPI_ADR_SPACE_SYSTEM_MEMORY,
-
 
158
    ACPI_ADR_SPACE_SYSTEM_IO,
-
 
159
    ACPI_ADR_SPACE_PCI_CONFIG,
-
 
160
    ACPI_ADR_SPACE_EC,
-
 
161
    ACPI_ADR_SPACE_SMBUS,
-
 
162
    ACPI_ADR_SPACE_CMOS,
-
 
163
    ACPI_ADR_SPACE_PCI_BAR_TARGET,
-
 
164
    ACPI_ADR_SPACE_IPMI,
-
 
165
    ACPI_ADR_SPACE_DATA_TABLE,
-
 
166
    ACPI_ADR_SPACE_FIXED_HARDWARE
-
 
167
};
-
 
168
 
-
 
169
/* Global handler information */
-
 
170
 
-
 
171
typedef struct acpi_handler_info
-
 
172
{
-
 
173
    void                    *Handler;
-
 
174
    char                    *Name;
-
 
175
 
-
 
176
} ACPI_HANDLER_INFO;
-
 
177
 
-
 
178
static ACPI_HANDLER_INFO    AcpiGbl_HandlerList[] =
-
 
179
{
-
 
180
    {&AcpiGbl_SystemNotify.Handler,     "System Notifications"},
-
 
181
    {&AcpiGbl_DeviceNotify.Handler,     "Device Notifications"},
-
 
182
    {&AcpiGbl_TableHandler,             "ACPI Table Events"},
-
 
183
    {&AcpiGbl_ExceptionHandler,         "Control Method Exceptions"},
-
 
184
    {&AcpiGbl_InterfaceHandler,         "OSI Invocations"}
-
 
185
};
142
 
186
 
143
 
187
 
144
/*******************************************************************************
188
/*******************************************************************************
145
 *
189
 *
146
 * FUNCTION:    AcpiDbGetPointer
190
 * FUNCTION:    AcpiDbGetPointer
Line 894... Line 938...
894
                for (j = 0; j < ACPI_GPE_REGISTER_WIDTH; j++)
938
                for (j = 0; j < ACPI_GPE_REGISTER_WIDTH; j++)
895
                {
939
                {
896
                    GpeIndex = (i * ACPI_GPE_REGISTER_WIDTH) + j;
940
                    GpeIndex = (i * ACPI_GPE_REGISTER_WIDTH) + j;
897
                    GpeEventInfo = &GpeBlock->EventInfo[GpeIndex];
941
                    GpeEventInfo = &GpeBlock->EventInfo[GpeIndex];
Line 898... Line 942...
898
 
942
 
-
 
943
                    if ((GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK) ==
899
                    if (!(GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK))
944
                        ACPI_GPE_DISPATCH_NONE)
900
                    {
945
                    {
Line 901... Line 946...
901
                        /* This GPE is not used (no method or handler), ignore it */
946
                        /* This GPE is not used (no method or handler), ignore it */
902
 
947
 
Line 903... Line 948...
903
                        continue;
948
                        continue;
904
                    }
949
                    }
905
 
950
 
906
                    AcpiOsPrintf (
951
                    AcpiOsPrintf (
907
                        "        GPE %.2X: %p  RunRefs %2.2X   WakeRefs %2.2X Flags %2.2X (",
-
 
Line 908... Line 952...
908
                        GpeBlock->BlockBaseNumber + GpeIndex, GpeEventInfo,
952
                        "        GPE %.2X: %p  RunRefs %2.2X Flags %2.2X (",
Line 909... Line 953...
909
                        GpeEventInfo->RuntimeCount, GpeEventInfo->WakeupCount,
953
                        GpeBlock->BlockBaseNumber + GpeIndex, GpeEventInfo,
910
                        GpeEventInfo->Flags);
954
                        GpeEventInfo->RuntimeCount, GpeEventInfo->Flags);
Line 929... Line 973...
929
                        AcpiOsPrintf ("RunOnly, ");
973
                        AcpiOsPrintf ("RunOnly, ");
930
                    }
974
                    }
Line 931... Line 975...
931
 
975
 
932
                    switch (GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK)
976
                    switch (GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK)
933
                    {
977
                    {
934
                    case ACPI_GPE_DISPATCH_NOT_USED:
978
                    case ACPI_GPE_DISPATCH_NONE:
935
                        AcpiOsPrintf ("NotUsed");
979
                        AcpiOsPrintf ("NotUsed");
-
 
980
                        break;
-
 
981
                    case ACPI_GPE_DISPATCH_METHOD:
-
 
982
                        AcpiOsPrintf ("Method");
936
                        break;
983
                        break;
937
                    case ACPI_GPE_DISPATCH_HANDLER:
984
                    case ACPI_GPE_DISPATCH_HANDLER:
938
                        AcpiOsPrintf ("Handler");
985
                        AcpiOsPrintf ("Handler");
939
                        break;
986
                        break;
940
                    case ACPI_GPE_DISPATCH_METHOD:
987
                    case ACPI_GPE_DISPATCH_NOTIFY:
941
                        AcpiOsPrintf ("Method");
988
                        AcpiOsPrintf ("Notify");
942
                        break;
989
                        break;
943
                    default:
990
                    default:
944
                        AcpiOsPrintf ("UNKNOWN: %X",
991
                        AcpiOsPrintf ("UNKNOWN: %X",
945
                            GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK);
992
                            GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK);
Line 954... Line 1001...
954
        }
1001
        }
955
        GpeXruptInfo = GpeXruptInfo->Next;
1002
        GpeXruptInfo = GpeXruptInfo->Next;
956
    }
1003
    }
957
}
1004
}
Line 958... Line -...
958
 
-
 
Line -... Line 1005...
-
 
1005
 
-
 
1006
 
-
 
1007
/*******************************************************************************
-
 
1008
 *
-
 
1009
 * FUNCTION:    AcpiDbDisplayHandlers
-
 
1010
 *
-
 
1011
 * PARAMETERS:  None
-
 
1012
 *
-
 
1013
 * RETURN:      None
-
 
1014
 *
-
 
1015
 * DESCRIPTION: Display the currently installed global handlers
-
 
1016
 *
-
 
1017
 ******************************************************************************/
-
 
1018
 
-
 
1019
void
-
 
1020
AcpiDbDisplayHandlers (
-
 
1021
    void)
-
 
1022
{
-
 
1023
    ACPI_OPERAND_OBJECT     *ObjDesc;
-
 
1024
    ACPI_OPERAND_OBJECT     *HandlerObj;
-
 
1025
    ACPI_ADR_SPACE_TYPE     SpaceId;
-
 
1026
    UINT32                  i;
-
 
1027
 
-
 
1028
 
-
 
1029
    /* Operation region handlers */
-
 
1030
 
-
 
1031
    AcpiOsPrintf ("\nOperation Region Handlers:\n");
-
 
1032
 
-
 
1033
    ObjDesc = AcpiNsGetAttachedObject (AcpiGbl_RootNode);
-
 
1034
    if (ObjDesc)
-
 
1035
    {
-
 
1036
        for (i = 0; i < ACPI_ARRAY_LENGTH (AcpiGbl_SpaceIdList); i++)
-
 
1037
        {
-
 
1038
            SpaceId = AcpiGbl_SpaceIdList[i];
-
 
1039
            HandlerObj = ObjDesc->Device.Handler;
-
 
1040
 
-
 
1041
            AcpiOsPrintf (ACPI_PREDEFINED_PREFIX,
-
 
1042
                AcpiUtGetRegionName ((UINT8) SpaceId), SpaceId);
-
 
1043
 
-
 
1044
            while (HandlerObj)
-
 
1045
            {
-
 
1046
                if (i == HandlerObj->AddressSpace.SpaceId)
-
 
1047
                {
-
 
1048
                    AcpiOsPrintf (ACPI_HANDLER_PRESENT_STRING,
-
 
1049
                        (HandlerObj->AddressSpace.HandlerFlags &
-
 
1050
                            ACPI_ADDR_HANDLER_DEFAULT_INSTALLED) ? "Default" : "User",
-
 
1051
                        HandlerObj->AddressSpace.Handler);
-
 
1052
                    goto FoundHandler;
-
 
1053
                }
-
 
1054
 
-
 
1055
                HandlerObj = HandlerObj->AddressSpace.Next;
-
 
1056
            }
-
 
1057
 
-
 
1058
            /* There is no handler for this SpaceId */
-
 
1059
 
-
 
1060
            AcpiOsPrintf ("None\n");
-
 
1061
 
-
 
1062
        FoundHandler:;
-
 
1063
        }
-
 
1064
    }
-
 
1065
 
-
 
1066
    /* Fixed event handlers */
-
 
1067
 
-
 
1068
    AcpiOsPrintf ("\nFixed Event Handlers:\n");
-
 
1069
 
-
 
1070
    for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++)
-
 
1071
    {
-
 
1072
        AcpiOsPrintf (ACPI_PREDEFINED_PREFIX, AcpiUtGetEventName (i), i);
-
 
1073
        if (AcpiGbl_FixedEventHandlers[i].Handler)
-
 
1074
        {
-
 
1075
            AcpiOsPrintf (ACPI_HANDLER_PRESENT_STRING, "User",
-
 
1076
                AcpiGbl_FixedEventHandlers[i].Handler);
-
 
1077
        }
-
 
1078
        else
-
 
1079
        {
-
 
1080
            AcpiOsPrintf (ACPI_HANDLER_NOT_PRESENT_STRING, "None");
-
 
1081
        }
-
 
1082
    }
-
 
1083
 
-
 
1084
    /* Miscellaneous global handlers */
-
 
1085
 
-
 
1086
    AcpiOsPrintf ("\nMiscellaneous Global Handlers:\n");
-
 
1087
 
-
 
1088
    for (i = 0; i < ACPI_ARRAY_LENGTH (AcpiGbl_HandlerList); i++)
-
 
1089
    {
-
 
1090
        AcpiOsPrintf (ACPI_HANDLER_NAME_STRING, AcpiGbl_HandlerList[i].Name);
-
 
1091
        if (AcpiGbl_HandlerList[i].Handler)
-
 
1092
        {
-
 
1093
            AcpiOsPrintf (ACPI_HANDLER_PRESENT_STRING, "User",
-
 
1094
                AcpiGbl_HandlerList[i].Handler);
-
 
1095
        }
-
 
1096
        else
-
 
1097
        {
-
 
1098
            AcpiOsPrintf (ACPI_HANDLER_NOT_PRESENT_STRING, "None");
-
 
1099
        }
-
 
1100
    }
-
 
1101
}