Add support HEADLESS to AWARD BIOS 6.00PG

Discussion in 'BIOS Mods' started by Gelip, Feb 4, 2013.

  1. Gelip

    Gelip MDL Novice

    Feb 28, 2011
    42
    2
    0
    #1 Gelip, Feb 4, 2013
    Last edited by a moderator: Apr 20, 2017
    I need boot WinXP Embedded without video card. I build WinXPe with headless drivers and this components:
    Code:
    Headless VGA Driver
    VGA Boot Driver
    VGA Save Driver
    Adding Support for a Headless System
    Headless Device Video Driver Processing

    My mobo is Clayton CVOAT217. Bios AWARD have 815.vga module and this make possiblity boot WinXP without video card. After delete this module from bios boot stop :-(. I test this with other AWARD motherboard and this is exactly the same:
    - if add module VGA to bios - WinXP boot passed (working too with smaller IBM-EGA.ROM)
    - if no module VGA in bios - WinXP boot fail

    GRUB4DOS and MS-DOS OS boot good without video card and without VGA module. Only problem is with WinXP. This is my thread at other forum. I make some test.

    I know that some BIOS'es have option HEADLESS e.g. MSI MS-7411, Phoenix MicroATX mobo MN-P45MX-01. In manuals these mobo read this:
    This option update ACPI FACP table. In my BIOS ACPI FACP table found 2 interesting flags:
    VGA Not Present (V4) : 0 and Headless - No Video (V3) : 0
    Code:
    /*
     * Intel ACPI Component Architecture
     * AML Disassembler version 20130117-32 [Jan 17 2013]
     * Copyright (c) 2000 - 2013 Intel Corporation
     * 
     * Disassembly of FACP.BIN, Mon Feb 04 00:16:37 2013
     *
     * ACPI Data Table [FACP]
     *
     * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
     */
    
    [000h 0000   4]                    Signature : "FACP"    [Fixed ACPI Description Table (FADT)]
    [004h 0004   4]                 Table Length : 00000074
    [008h 0008   1]                     Revision : 01
    [009h 0009   1]                     Checksum : 12
    [00Ah 0010   6]                       Oem ID : "IntelR"
    [010h 0016   8]                 Oem Table ID : "AWRDACPI"
    [018h 0024   4]                 Oem Revision : 42302E31
    [01Ch 0028   4]              Asl Compiler ID : "AWRD"
    [020h 0032   4]        Asl Compiler Revision : 00000000
    
    [024h 0036   4]                 FACS Address : 1FFF0000
    [028h 0040   4]                 DSDT Address : 1FFF30C0
    [02Ch 0044   1]                        Model : 00
    [02Dh 0045   1]                   PM Profile : 00 [Unspecified]
    [02Eh 0046   2]                SCI Interrupt : 0009
    [030h 0048   4]             SMI Command Port : 000000B2
    [034h 0052   1]            ACPI Enable Value : A1
    [035h 0053   1]           ACPI Disable Value : A0
    [036h 0054   1]               S4BIOS Command : 00
    [037h 0055   1]              P-State Control : 00
    [038h 0056   4]     PM1A Event Block Address : 00000400
    [03Ch 0060   4]     PM1B Event Block Address : 00000000
    [040h 0064   4]   PM1A Control Block Address : 00000404
    [044h 0068   4]   PM1B Control Block Address : 00000000
    [048h 0072   4]    PM2 Control Block Address : 00000000
    [04Ch 0076   4]       PM Timer Block Address : 00000408
    [050h 0080   4]           GPE0 Block Address : 0000042C
    [054h 0084   4]           GPE1 Block Address : 00000428
    [058h 0088   1]       PM1 Event Block Length : 04
    [059h 0089   1]     PM1 Control Block Length : 02
    [05Ah 0090   1]     PM2 Control Block Length : 00
    [05Bh 0091   1]        PM Timer Block Length : 04
    [05Ch 0092   1]            GPE0 Block Length : 04
    [05Dh 0093   1]            GPE1 Block Length : 04
    [05Eh 0094   1]             GPE1 Base Offset : 10
    [05Fh 0095   1]                 _CST Support : 00
    [060h 0096   2]                   C2 Latency : 0065
    [062h 0098   2]                   C3 Latency : 03E9
    [064h 0100   2]               CPU Cache Size : 0000
    [066h 0102   2]           Cache Flush Stride : 0000
    [068h 0104   1]            Duty Cycle Offset : 01
    [069h 0105   1]             Duty Cycle Width : 01
    [06Ah 0106   1]          RTC Day Alarm Index : 0D
    [06Bh 0107   1]        RTC Month Alarm Index : 00
    [06Ch 0108   1]            RTC Century Index : 00
    [06Dh 0109   2]   Boot Flags (decoded below) : 0000
                   Legacy Devices Supported (V2) : 0
                8042 Present on ports 60/64 (V2) : 0
                            VGA Not Present (V4) : 0
                          MSI Not Supported (V4) : 0
                    PCIe ASPM Not Supported (V4) : 0
                       CMOS RTC Not Present (V5) : 0
    [06Fh 0111   1]                     Reserved : 00
    [070h 0112   4]        Flags (decoded below) : 000004A5
          WBINVD instruction is operational (V1) : 1
                  WBINVD flushes all caches (V1) : 0
                        All CPUs support C1 (V1) : 1
                      C2 works on MP system (V1) : 0
                Control Method Power Button (V1) : 0
                Control Method Sleep Button (V1) : 1
            RTC wake not in fixed reg space (V1) : 0
                RTC can wake system from S4 (V1) : 1
                            32-bit PM Timer (V1) : 0
                          Docking Supported (V1) : 0
                   Reset Register Supported (V2) : 1
                                Sealed Case (V3) : 0
                        Headless - No Video (V3) : 0
            Use native instr after SLP_TYPx (V3) : 0
                  PCIEXP_WAK Bits Supported (V4) : 0
                         Use Platform Timer (V4) : 0
                   RTC_STS valid on S4 wake (V4) : 0
                    Remote Power-on capable (V4) : 0
                     Use APIC Cluster Model (V4) : 0
         Use APIC Physical Destination Mode (V4) : 0
                           Hardware Reduced (V5) : 0
                          Low Power S0 Idle (V5) : 0
    
    Raw Table Data: Length 116 (0x74)
    
      0000: 46 41 43 50 74 00 00 00 01 12 49 6E 74 65 6C 52  FACPt.....IntelR
      0010: 41 57 52 44 41 43 50 49 31 2E 30 42 41 57 52 44  AWRDACPI1.0BAWRD
      0020: 00 00 00 00 00 00 FF 1F C0 30 FF 1F 00 00 09 00  .........0......
      0030: B2 00 00 00 A1 A0 00 00 00 04 00 00 00 00 00 00  ................
      0040: 04 04 00 00 00 00 00 00 00 00 00 00 08 04 00 00  ................
      0050: 2C 04 00 00 28 04 00 00 04 02 00 04 04 04 10 00  ,...(...........
      0060: 65 00 E9 03 00 00 00 00 01 01 0D 00 00 00 00 00  e...............
      0070: A5 04 00 00                                      ....
    
    I change this 2 option to 1 like this:

    1. Extract FACP.BIN (116 bytes) table from system with Everest
    2. Decode binary ACPI to .dsl file with Intel iASL tool
    Code:
    iasl -d facp.bin
    Intel ACPI Component Architecture
    ASL Optimizing Compiler version 20130117-32 [Jan 17 2013]
    Copyright (c) 2000 - 2013 Intel Corporation
    
    Loading Acpi table from file FACP.BIN
    Acpi Data Table [FACP] decoded
    Formatted output:  FACP.dsl - 4924 bytes
    3. Change 2 option (VGA and headless) from 0 to 1 in file FACP.DSL
    4. Compile dsl file to aml. aml=bin i think (FACP.AML)
    Code:
    iasl FACP.DSL
    Intel ACPI Component Architecture
    ASL Optimizing Compiler version 20130117-32 [Jan 17 2013]
    Copyright (c) 2000 - 2013 Intel Corporation
    
    Table Input:   FACP.dsl - 79 lines, 4639 bytes, 75 fields
    Binary Output: FACP.aml - 116 bytes
    
    Compilation complete. 0 Errors, 0 Warnings, 0 Remarks
    5. In hex editor found that change checksum, compiler name and 2 bytes 00>04 & 04>14
    6. Open my mobo bios in Award SLIC Mod v1.53 and set options Method 0+2, Allow manual modification and change 2 bytes in ACPI_SLIC module
    7. Flash my new bios to mobo

    BIOS working good with video card but WinXP still nothing boot without :-(

    I not understand what is (V4) and (V3) - is this is ACPI version ???