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 7... Line 7...
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
 *
16
 * 2.1. This is your license from Intel Corp. under its intellectual property
16
 * 2.1. This is your license from Intel Corp. under its intellectual property
Line 122... Line 122...
122
        ACPI_MODULE_NAME    ("aslstartup")
122
        ACPI_MODULE_NAME    ("aslstartup")
123
 
123
 
Line 124... Line 124...
124
 
124
 
125
#define ASL_MAX_FILES   256
125
#define ASL_MAX_FILES   256
126
char                    *FileList[ASL_MAX_FILES];
-
 
127
int                     FileCount;
126
static char             *FileList[ASL_MAX_FILES];
Line 128... Line 127...
128
BOOLEAN                 AslToFile = TRUE;
127
static BOOLEAN          AslToFile = TRUE;
Line 129... Line -...
129
 
-
 
130
 
-
 
131
/* Local prototypes */
-
 
132
 
-
 
133
static void
128
 
134
AslInitializeGlobals (
129
 
135
    void);
130
/* Local prototypes */
136
 
131
 
Line 137... Line 132...
137
static char **
132
static char **
138
AsDoWildcard (
133
AsDoWildcard (
139
    char                    *DirectoryPathname,
134
    char                    *DirectoryPathname,
Line 140... Line 135...
140
    char                    *FileSpecifier);
135
    char                    *FileSpecifier);
Line 156... Line 151...
156
 *              allows multiple files to be disassembled and/or compiled.
151
 *              allows multiple files to be disassembled and/or compiled.
157
 *
152
 *
158
 ******************************************************************************/
153
 ******************************************************************************/
159
 
154
 
Line 160... Line 155...
160
static void
155
void
161
AslInitializeGlobals (
156
AslInitializeGlobals (
162
    void)
157
    void)
163
{
158
{
164
    UINT32                  i;
159
    UINT32                  i;
Line 185... Line 180...
185
    }
180
    }
186
 
181
 
Line 187... Line 182...
187
    Gbl_Files[ASL_FILE_AML_OUTPUT].Filename = NULL;
182
    Gbl_Files[ASL_FILE_AML_OUTPUT].Filename = NULL;
188
    Gbl_Files[ASL_FILE_AML_OUTPUT].Handle = NULL;
183
    Gbl_Files[ASL_FILE_AML_OUTPUT].Handle = NULL;
-
 
184
 
-
 
185
    Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Filename = NULL;
-
 
186
    Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Handle = NULL;
189
}
187
}
Line 190... Line 188...
190
 
188
 
191
 
189
 
Line 209... Line 207...
209
{
207
{
210
#ifdef WIN32
208
#ifdef WIN32
211
    void                    *DirInfo;
209
    void                    *DirInfo;
212
    char                    *Filename;
210
    char                    *Filename;
213
 
211
    int                     FileCount;
-
 
212
 
Line 214... Line 213...
214
 
213
 
Line 215... Line 214...
215
    FileCount = 0;
214
    FileCount = 0;
Line 276... Line 275...
276
 *              non-ASCII characters), ASL file, or an ACPI Data Table file.
275
 *              non-ASCII characters), ASL file, or an ACPI Data Table file.
277
 *
276
 *
278
 ******************************************************************************/
277
 ******************************************************************************/
279
 
278
 
Line 280... Line 279...
280
UINT8
279
static UINT8
281
AslDetectSourceFileType (
280
AslDetectSourceFileType (
282
    ASL_FILE_INFO           *Info)
281
    ASL_FILE_INFO           *Info)
283
{
282
{
284
    char                    *FileChar;
283
    char                    *FileChar;
285
    UINT8                   Type;
284
    UINT8                   Type;
Line 396... Line 395...
396
 
395
 
Line 397... Line 396...
397
        /* Shutdown compiler and ACPICA subsystem */
396
        /* Shutdown compiler and ACPICA subsystem */
Line 398... Line 397...
398
 
397
 
399
        AeClearErrorLog ();
398
        AeClearErrorLog ();
Line 400... Line 399...
400
        AcpiTerminate ();
399
        (void) AcpiTerminate ();
401
 
400
 
402
        /*
401
        /*
403
         * Gbl_Files[ASL_FILE_INPUT].Filename was replaced with the
402
         * Gbl_Files[ASL_FILE_INPUT].Filename was replaced with the
Line 462... Line 461...
462
     * Data Table Compilation
461
     * Data Table Compilation
463
     */
462
     */
464
    case ASL_INPUT_TYPE_ASCII_DATA:
463
    case ASL_INPUT_TYPE_ASCII_DATA:
465
 
464
 
Line 466... Line -...
466
        /*
-
 
467
         * Require use of command-line option to enable the data table
-
 
468
         * compiler -- for now, until development of the compiler is
-
 
469
         * complete.
-
 
470
         */
-
 
471
        if (!Gbl_DataTableCompilerAvailable)
-
 
472
        {
-
 
473
            printf ("Data Table Compiler is not available yet\n");
-
 
474
            return (AE_SUPPORT);
-
 
475
        }
-
 
476
 
-
 
477
        Status = DtDoCompile ();
465
        Status = DtDoCompile ();
Line 478... Line 466...
478
 
466
 
479
        if (Gbl_Signature)
467
        if (Gbl_Signature)
480
        {
468
        {
Line 488... Line 476...
488
     * ASL Compilation (Optional)
476
     * ASL Compilation (Optional)
489
     */
477
     */
490
    case ASL_INPUT_TYPE_ASCII_ASL:
478
    case ASL_INPUT_TYPE_ASCII_ASL:
491
 
479
 
Line 492... Line -...
492
 
-
 
493
        /* ACPICA subsystem initialization */
480
        /* ACPICA subsystem initialization */
Line 494... Line 481...
494
 
481
 
495
        Status = AdInitialize ();
482
        Status = AdInitialize ();
496
        if (ACPI_FAILURE (Status))
483
        if (ACPI_FAILURE (Status))
497
        {
484
        {
498
            return (Status);
485
            return (Status);
Line 499... Line 486...
499
        }
486
        }
500
 
487
 
Line 501... Line 488...
501
        Status = CmDoCompile ();
488
        Status = CmDoCompile ();
502
        AcpiTerminate ();
489
        (void) AcpiTerminate ();
503
 
490
 
504
        /*
491
        /*
Line 540... Line 527...
540
 ******************************************************************************/
527
 ******************************************************************************/
541
 
528
 
Line 542... Line 529...
542
ACPI_STATUS
529
ACPI_STATUS
543
AslDoOnePathname (
530
AslDoOnePathname (
544
    char                    *Pathname)
531
    char                    *Pathname,
-
 
532
    ASL_PATHNAME_CALLBACK   PathCallback)
545
{
533
{
546
    ACPI_STATUS             Status = AE_OK;
534
    ACPI_STATUS             Status = AE_OK;
547
    char                    **FileList;
535
    char                    **WildcardList;
548
    char                    *Filename;
536
    char                    *Filename;
549
    char                    *FullPathname;
537
    char                    *FullPathname;
Line 550... Line 538...
550
 
538
 
Line 558... Line 546...
558
    }
546
    }
559
 
547
 
Line 560... Line 548...
560
    /* Expand possible wildcard into a file list (Windows/DOS only) */
548
    /* Expand possible wildcard into a file list (Windows/DOS only) */
Line 561... Line 549...
561
 
549
 
562
    FileList = AsDoWildcard (Gbl_DirectoryPath, Filename);
550
    WildcardList = AsDoWildcard (Gbl_DirectoryPath, Filename);
563
    while (*FileList)
551
    while (*WildcardList)
564
    {
552
    {
565
        FullPathname = ACPI_ALLOCATE (
553
        FullPathname = ACPI_ALLOCATE (
Line 566... Line 554...
566
            strlen (Gbl_DirectoryPath) + strlen (*FileList) + 1);
554
            strlen (Gbl_DirectoryPath) + strlen (*WildcardList) + 1);
Line 567... Line 555...
567
 
555
 
568
        /* Construct a full path to the file */
556
        /* Construct a full path to the file */
Line 569... Line 557...
569
 
557
 
570
        strcpy (FullPathname, Gbl_DirectoryPath);
558
        strcpy (FullPathname, Gbl_DirectoryPath);
571
        strcat (FullPathname, *FileList);
559
        strcat (FullPathname, *WildcardList);
572
 
560
 
Line 580... Line 568...
580
        }
568
        }
581
 
569
 
Line 582... Line 570...
582
        /* Save status from all compiles */
570
        /* Save status from all compiles */
Line 583... Line 571...
583
 
571
 
Line 584... Line 572...
584
        Status |= AslDoOneFile (FullPathname);
572
        Status |= (*PathCallback) (FullPathname);
585
 
573
 
586
        ACPI_FREE (FullPathname);
574
        ACPI_FREE (FullPathname);
587
        ACPI_FREE (*FileList);
575
        ACPI_FREE (*WildcardList);
588
        *FileList = NULL;
576
        *WildcardList = NULL;
Line 589... Line 577...
589
        FileList++;
577
        WildcardList++;
590
    }
578
    }
591
 
579