Subversion Repositories Kolibri OS

Rev

Rev 1498 | Go to most recent revision | 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 163... Line 163...
163
#define ACPI_MTX_DEBUG_CMD_READY        7   /* AML debugger */
163
#define ACPI_MTX_DEBUG_CMD_READY        7   /* AML debugger */
Line 164... Line 164...
164
 
164
 
165
#define ACPI_MAX_MUTEX                  7
165
#define ACPI_MAX_MUTEX                  7
Line 166... Line -...
166
#define ACPI_NUM_MUTEX                  ACPI_MAX_MUTEX+1
-
 
167
 
-
 
168
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
-
 
169
#ifdef DEFINE_ACPI_GLOBALS
-
 
170
 
-
 
171
/* Debug names for the mutexes above */
-
 
172
 
-
 
173
static char                 *AcpiGbl_MutexNames[ACPI_NUM_MUTEX] =
-
 
174
{
-
 
175
    "ACPI_MTX_Interpreter",
-
 
176
    "ACPI_MTX_Namespace",
-
 
177
    "ACPI_MTX_Tables",
-
 
178
    "ACPI_MTX_Events",
-
 
179
    "ACPI_MTX_Caches",
-
 
180
    "ACPI_MTX_Memory",
-
 
181
    "ACPI_MTX_CommandComplete",
-
 
182
    "ACPI_MTX_CommandReady"
-
 
183
};
-
 
184
 
-
 
Line 185... Line 166...
185
#endif
166
#define ACPI_NUM_MUTEX                  ACPI_MAX_MUTEX+1
Line 186... Line 167...
186
#endif
167
 
187
 
168
 
Line 500... Line 481...
500
typedef struct acpi_predefined_data
481
typedef struct acpi_predefined_data
501
{
482
{
502
    char                        *Pathname;
483
    char                        *Pathname;
503
    const ACPI_PREDEFINED_INFO  *Predefined;
484
    const ACPI_PREDEFINED_INFO  *Predefined;
504
    union acpi_operand_object   *ParentPackage;
485
    union acpi_operand_object   *ParentPackage;
-
 
486
    ACPI_NAMESPACE_NODE         *Node;
505
    UINT32                      Flags;
487
    UINT32                      Flags;
506
    UINT8                       NodeFlags;
488
    UINT8                       NodeFlags;
Line 507... Line 489...
507
 
489
 
Line 535... Line 517...
535
 *
517
 *
536
 ****************************************************************************/
518
 ****************************************************************************/
Line 537... Line 519...
537
 
519
 
Line 538... Line 520...
538
/* Dispatch info for each GPE -- either a method or handler, cannot be both */
520
/* Dispatch info for each GPE -- either a method or handler, cannot be both */
539
 
521
 
540
typedef struct acpi_handler_info
522
typedef struct acpi_gpe_handler_info
541
{
523
{
542
    ACPI_EVENT_HANDLER              Address;        /* Address of handler, if any */
524
    ACPI_GPE_HANDLER                Address;        /* Address of handler, if any */
-
 
525
    void                            *Context;       /* Context to be passed to handler */
-
 
526
    ACPI_NAMESPACE_NODE             *MethodNode;    /* Method node for this GPE level (saved) */
Line 543... Line 527...
543
    void                            *Context;       /* Context to be passed to handler */
527
    UINT8                           OriginalFlags;  /* Original (pre-handler) GPE info */
Line -... Line 528...
-
 
528
    BOOLEAN                         OriginallyEnabled; /* True if GPE was originally enabled */
-
 
529
 
-
 
530
} ACPI_GPE_HANDLER_INFO;
-
 
531
 
544
    ACPI_NAMESPACE_NODE             *MethodNode;    /* Method node for this GPE level (saved) */
532
/*
545
 
533
 * GPE dispatch info. At any time, the GPE can have at most one type
546
} ACPI_HANDLER_INFO;
534
 * of dispatch - Method, Handler, or Implicit Notify.
547
 
535
 */
-
 
536
typedef union acpi_gpe_dispatch_info
Line 548... Line 537...
548
typedef union acpi_gpe_dispatch_info
537
{
Line 549... Line 538...
549
{
538
    ACPI_NAMESPACE_NODE             *MethodNode;    /* Method node for this GPE level */
550
    ACPI_NAMESPACE_NODE             *MethodNode;    /* Method node for this GPE level */
539
    struct acpi_gpe_handler_info    *Handler;       /* Installed GPE handler */
Line 561... Line 550...
561
    union acpi_gpe_dispatch_info    Dispatch;       /* Either Method or Handler */
550
    union acpi_gpe_dispatch_info    Dispatch;       /* Either Method or Handler */
562
    struct acpi_gpe_register_info   *RegisterInfo;  /* Backpointer to register info */
551
    struct acpi_gpe_register_info   *RegisterInfo;  /* Backpointer to register info */
563
    UINT8                           Flags;          /* Misc info about this GPE */
552
    UINT8                           Flags;          /* Misc info about this GPE */
564
    UINT8                           GpeNumber;      /* This GPE */
553
    UINT8                           GpeNumber;      /* This GPE */
565
    UINT8                           RuntimeCount;   /* References to a run GPE */
554
    UINT8                           RuntimeCount;   /* References to a run GPE */
566
    UINT8                           WakeupCount;    /* References to a wake GPE */
-
 
Line 567... Line 555...
567
 
555
 
Line 568... Line 556...
568
} ACPI_GPE_EVENT_INFO;
556
} ACPI_GPE_EVENT_INFO;
Line 593... Line 581...
593
    ACPI_GPE_EVENT_INFO             *EventInfo;     /* One for each GPE */
581
    ACPI_GPE_EVENT_INFO             *EventInfo;     /* One for each GPE */
594
    ACPI_GENERIC_ADDRESS            BlockAddress;   /* Base address of the block */
582
    ACPI_GENERIC_ADDRESS            BlockAddress;   /* Base address of the block */
595
    UINT32                          RegisterCount;  /* Number of register pairs in block */
583
    UINT32                          RegisterCount;  /* Number of register pairs in block */
596
    UINT16                          GpeCount;       /* Number of individual GPEs in block */
584
    UINT16                          GpeCount;       /* Number of individual GPEs in block */
597
    UINT8                           BlockBaseNumber;/* Base GPE number for this block */
585
    UINT8                           BlockBaseNumber;/* Base GPE number for this block */
-
 
586
    BOOLEAN                         Initialized;    /* TRUE if this block is initialized */
Line 598... Line 587...
598
 
587
 
Line 599... Line 588...
599
} ACPI_GPE_BLOCK_INFO;
588
} ACPI_GPE_BLOCK_INFO;
Line 613... Line 602...
613
{
602
{
614
    ACPI_NAMESPACE_NODE             *GpeDevice;
603
    ACPI_NAMESPACE_NODE             *GpeDevice;
615
    ACPI_GPE_BLOCK_INFO             *GpeBlock;
604
    ACPI_GPE_BLOCK_INFO             *GpeBlock;
616
    UINT16                          Count;
605
    UINT16                          Count;
617
    ACPI_OWNER_ID                   OwnerId;
606
    ACPI_OWNER_ID                   OwnerId;
618
    BOOLEAN                         EnableThisGpe;
-
 
619
    BOOLEAN                         ExecuteByOwnerId;
607
    BOOLEAN                         ExecuteByOwnerId;
Line 620... Line 608...
620
 
608
 
Line 621... Line 609...
621
} ACPI_GPE_WALK_INFO;
609
} ACPI_GPE_WALK_INFO;
Line 1079... Line 1067...
1079
    ACPI_BITMASK_BUS_MASTER_STATUS     | \
1067
    ACPI_BITMASK_BUS_MASTER_STATUS     | \
1080
    ACPI_BITMASK_GLOBAL_LOCK_STATUS    | \
1068
    ACPI_BITMASK_GLOBAL_LOCK_STATUS    | \
1081
    ACPI_BITMASK_POWER_BUTTON_STATUS   | \
1069
    ACPI_BITMASK_POWER_BUTTON_STATUS   | \
1082
    ACPI_BITMASK_SLEEP_BUTTON_STATUS   | \
1070
    ACPI_BITMASK_SLEEP_BUTTON_STATUS   | \
1083
    ACPI_BITMASK_RT_CLOCK_STATUS       | \
1071
    ACPI_BITMASK_RT_CLOCK_STATUS       | \
-
 
1072
    ACPI_BITMASK_PCIEXP_WAKE_STATUS    | \
1084
    ACPI_BITMASK_WAKE_STATUS)
1073
    ACPI_BITMASK_WAKE_STATUS)
Line 1085... Line 1074...
1085
 
1074
 
1086
#define ACPI_BITMASK_TIMER_ENABLE               0x0001
1075
#define ACPI_BITMASK_TIMER_ENABLE               0x0001
1087
#define ACPI_BITMASK_GLOBAL_LOCK_ENABLE         0x0020
1076
#define ACPI_BITMASK_GLOBAL_LOCK_ENABLE         0x0020
Line 1135... Line 1124...
1135
#define ACPI_OSI_WIN_XP_SP2             0x05
1124
#define ACPI_OSI_WIN_XP_SP2             0x05
1136
#define ACPI_OSI_WINSRV_2003_SP1        0x06
1125
#define ACPI_OSI_WINSRV_2003_SP1        0x06
1137
#define ACPI_OSI_WIN_VISTA              0x07
1126
#define ACPI_OSI_WIN_VISTA              0x07
1138
#define ACPI_OSI_WINSRV_2008            0x08
1127
#define ACPI_OSI_WINSRV_2008            0x08
1139
#define ACPI_OSI_WIN_VISTA_SP1          0x09
1128
#define ACPI_OSI_WIN_VISTA_SP1          0x09
-
 
1129
#define ACPI_OSI_WIN_VISTA_SP2          0x0A
1140
#define ACPI_OSI_WIN_7                  0x0A
1130
#define ACPI_OSI_WIN_7                  0x0B
Line 1141... Line 1131...
1141
 
1131
 
Line 1142... Line 1132...
1142
#define ACPI_ALWAYS_ILLEGAL             0x00
1132
#define ACPI_ALWAYS_ILLEGAL             0x00
1143
 
1133
 
1144
typedef struct acpi_interface_info
1134
typedef struct acpi_interface_info
-
 
1135
{
-
 
1136
    char                        *Name;
1145
{
1137
    struct acpi_interface_info  *Next;
Line 1146... Line 1138...
1146
    char                    *Name;
1138
    UINT8                       Flags;
Line -... Line 1139...
-
 
1139
    UINT8                       Value;
-
 
1140
 
-
 
1141
} ACPI_INTERFACE_INFO;
1147
    UINT8                   Value;
1142
 
1148
 
1143
#define ACPI_OSI_INVALID                0x01
1149
} ACPI_INTERFACE_INFO;
1144
#define ACPI_OSI_DYNAMIC                0x02
1150
 
1145
 
1151
typedef struct acpi_port_info
1146
typedef struct acpi_port_info
Line 1245... Line 1240...
1245
/* Values for Flags field above */
1240
/* Values for Flags field above */
Line 1246... Line 1241...
1246
 
1241
 
Line -... Line 1242...
-
 
1242
#define ACPI_IPATH_ALLOCATED    0x01
-
 
1243
 
-
 
1244
 
-
 
1245
typedef struct acpi_external_file
-
 
1246
{
-
 
1247
    char                        *Path;
-
 
1248
    struct acpi_external_file   *Next;
-
 
1249
 
1247
#define ACPI_IPATH_ALLOCATED    0x01
1250
} ACPI_EXTERNAL_FILE;
1248
 
1251
 
1249
 
1252
 
1250
/*****************************************************************************
1253
/*****************************************************************************
1251
 *
1254
 *
Line 1256... Line 1259...
1256
typedef struct acpi_db_method_info
1259
typedef struct acpi_db_method_info
1257
{
1260
{
1258
    ACPI_HANDLE                     MainThreadGate;
1261
    ACPI_HANDLE                     MainThreadGate;
1259
    ACPI_HANDLE                     ThreadCompleteGate;
1262
    ACPI_HANDLE                     ThreadCompleteGate;
1260
    ACPI_HANDLE                     InfoGate;
1263
    ACPI_HANDLE                     InfoGate;
1261
    UINT32                          *Threads;
1264
    ACPI_THREAD_ID                  *Threads;
1262
    UINT32                          NumThreads;
1265
    UINT32                          NumThreads;
1263
    UINT32                          NumCreated;
1266
    UINT32                          NumCreated;
1264
    UINT32                          NumCompleted;
1267
    UINT32                          NumCompleted;
Line 1265... Line 1268...
1265
 
1268
 
1266
    char                            *Name;
1269
    char                            *Name;
1267
    UINT32                          Flags;
1270
    UINT32                          Flags;
1268
    UINT32                          NumLoops;
1271
    UINT32                          NumLoops;
1269
    char                            Pathname[128];
1272
    char                            Pathname[128];
-
 
1273
    char                            **Args;
Line 1270... Line 1274...
1270
    char                            **Args;
1274
    ACPI_OBJECT_TYPE                *Types;
1271
 
1275
 
1272
    /*
1276
    /*
1273
     * Arguments to be passed to method for the command
1277
     * Arguments to be passed to method for the command
1274
     * Threads -
1278
     * Threads -
1275
     *   the Number of threads, ID of current thread and
1279
     *   the Number of threads, ID of current thread and
1276
     *   Index of current thread inside all them created.
1280
     *   Index of current thread inside all them created.
-
 
1281
     */
1277
     */
1282
    char                            InitArgs;
1278
    char                            InitArgs;
1283
    ACPI_OBJECT_TYPE                ArgTypes[4];
1279
    char                            *Arguments[4];
1284
    char                            *Arguments[4];
1280
    char                            NumThreadsStr[11];
1285
    char                            NumThreadsStr[11];