Jump to content

Compiling ACPI v2.0 driver for Windows XP SP3 and Windows 2003 SP2 (x32/x64)


Mov AX, 0xDEAD

Recommended Posts

21 minutes ago, Dietmar said:

@Mov AX, 0xDEAD

The Bsod happens mostly with the free version of acpi.sys of XP bit64.

Does it make sense, to edit amliapi.c the same way also for the free acpi.sys,

or is there another way to bring the free acpi.sys to give more output

Dietmar

for free i think need replace macro PRINTF() to direct

Quote

DbgPrint(MODNAME ": %p: AsyncEvalObject(%s)\n",
                   KeGetCurrentThread(), GetObjectPath(pns));

 

Link to comment
Share on other sites


@Mov AX, 0xDEADI build new acpi.sys for XP 64 DEBUG with new amliapi.c .

But the result looks nearly exakt as from first acpi.sys without

!amli set spewon verboseon logon traceon   .

Please take a look at my for the DEBUG acpi.sys modded amliapi.c vs amliapimodd.c

Dietmar

 

Here is the Log file

https://ufile.io/rlym0sum

 

and here are the amliapi

https://ufile.io/aqp93q0t

Edited by Dietmar
Link to comment
Share on other sites

I see my error in amliapi.c

Dietmar

EDIT: Still no output of any device as for example

"AMLI: xxxxx: AsyncEvalObject(\_SB.PC00.MC._ADR)"

Dietmar

 

Here is log, same as before

https://ufile.io/ygxv73fs

 

EDIT: Even I mod amliapi.c at all 6 places (where "verbose" is), still no output of any device as

"AMLI: xxxxx: AsyncEvalObject(\_SB.PC00.MC._ADR)"

 

Dirty hack in Source Code in buildsrc.c @ 422 just change against "If (0)" (lets acpi always fullfilled)

also does not  help. Then comes the Bsod 0xA, as also in hack of acpi.sys direct.

Because the DEBUG acpi.sys works, we only need to put away the Breakpoint for Windbg

0x7E (0x80000003, xxx, yyy) but no idea how this can be done.

Edited by Dietmar
Link to comment
Share on other sites

@Mov AX, 0xDEAD

The DEBUG acpi.sys tells this in Windbg (hits Breakpoint 0x7E (0x80000003, xxx, yyy) because of this)

*** Assertion failed: The BIOS has reported inconsistent resources (_CRS).  Please upgrade your BIOS.NT_SUCCESS(status)
***   Source File: c:\win2k3\nt\base\busdrv\acpi\driver\nt\bus.c, line 2802

 

Link to comment
Share on other sites

3 hours ago, Dietmar said:

EDIT: Even I mod amliapi.c at all 6 places (where "verbose" is), still no output of any device as

"AMLI: xxxxx: AsyncEvalObject(\_SB.PC00.MC._ADR)"

amliapi.c, line 862:

Quote

      //#ifdef DEBUGGER
        if (1)
        {
            DbgPrint(MODNAME ": %p: AsyncEvalObject(%s)\n",
                   KeGetCurrentThread(), GetObjectPath(pns));
        }
      //#endif

I attached log from free acpi.sys

free log.txt

Link to comment
Share on other sites

2 minutes ago, Dietmar said:

@Mov AX, 0xDEAD

I did. It is to 100% ok.

OK, line is right, you keeped PRINTF macro, it works only on checked build, DbgPrint - for free too

In prev full log, was many of similar, so this code was executed:

Quote

 

AMLI: FFFFFADCE40E69F0: AsyncEvalObject(\_SB.PC00._CID)

AMLI: FFFFFADCE40E69F0: AsyncEvalObject(\_SB.PC00._BBN)

....

 

if you still no have output - AMLIAsyncEvalObject() execution aborted before line 862

Link to comment
Share on other sites

1 minute ago, Dietmar said:

@Mov AX, 0xDEAD

My compi (host, where windbg runs) is XP SP3 (with 64bit acpi.sys and its acpi.pdb for windbg)

The compi (guest) is the compi with crashing XP 64 SP2 (with the same acpi.sys for XP 64 as driver)

Dietmar

on host can be any OS and probably any windbg, text output relay on DbgPrint(), we call it at line 865 on target pc, this function just send text to host's windbg without filtering (as DDK said)

Link to comment
Share on other sites

@Mov AX, 0xDEAD

This one works, crazy.

Here is LOG file

Dietmar

https://ufile.io/sc2amqfy

 

AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.CLP3._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.CLP4._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.CLP5._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.LNK0._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.LNK1._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.LNK2._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.LNK3._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.LNK4._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.LNK5._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.FLM0._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.FLM1._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.FLM2._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.FLM3._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.FLM4._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.FLM5._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.I2C2.CAM0._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.I2C4.CAM1._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.I2C2.PMIC._HID)
AMLI: FFFFFADCE4E65810: AsyncEvalObject(\_SB.PC00.I2C0.HDAC._HID)

*** Fatal System Error: 0x000000a5
                       (0x0000000000000003,0xFFFFFADCE4CB5C30,0xFFFFFFFFC0000034,0x000000004449485F)

Break instruction exception - code 80000003 (first chance)

A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.

A fatal system error has occurred.

Connected to Windows Server 2003 3790 x64 target at (Sun Jan  1 23:46:18.078 2023 (UTC + 1:00)), ptr64 TRUE
Loading Kernel Symbols
............................

Press ctrl-c (cdb, kd, ntsd) or ctrl-break (windbg) to abort symbol loads that take too long.
Run !sym noisy before .reload to track down problems loading symbols.

...
Loading User Symbols

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck A5, {3, fffffadce4cb5c30, ffffffffc0000034, 4449485f}

Probably caused by : ACPI.sys ( ACPI!ACPIBuildCompleteMustSucceed+39 )

Followup: MachineOwner
---------

nt!RtlpBreakWithStatusInstruction:
fffff800`01026cf0 cc              int     3
22: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

ACPI_BIOS_ERROR (a5)
The ACPI Bios in the system is not fully compliant with the ACPI specification.
The first value indicates where the incompatibility lies:
This bug check covers a great variety of ACPI problems.  If a kernel debugger
is attached, use "!analyze -v".  This command will analyze the precise problem,
and display whatever information is most useful for debugging the specific
error.
Arguments:
Arg1: 0000000000000003, ACPI_FAILED_MUST_SUCCEED_METHOD
    ACPI tried to run a control method while creating device extensions
    to represent the ACPI namespace, but this control method failed.
Arg2: fffffadce4cb5c30, The ACPI Object that was being run
Arg3: ffffffffc0000034, return value from the interpreter
Arg4: 000000004449485f, Name of the control method (in ULONG format)

Debugging Details:
------------------


ACPI_OBJECT:  fffffadce4cb5c30

DEFAULT_BUCKET_ID:  DRIVER_FAULT

BUGCHECK_STR:  0xA5

PROCESS_NAME:  System

CURRENT_IRQL:  2

ANALYSIS_VERSION: 6.3.9600.17237 (debuggers(dbg).140716-0327) x86fre

LAST_CONTROL_TRANSFER:  from fffff800010d668e to fffff80001026cf0

STACK_TEXT:  
fffffadc`c400e4c8 fffff800`010d668e : 00000000`00000016 00000000`00000000 00000000`00000003 fffff800`010565ce : nt!RtlpBreakWithStatusInstruction
fffffadc`c400e4d0 fffff800`010d7c5e : fffff800`00000003 00000000`000000a5 00000000`00000003 fffffadc`e4cb5c30 : nt!KiBugCheckDebugBreak+0x1e
fffffadc`c400e530 fffff800`0102e994 : 00000000`c0000034 fffffadc`e3d52000 00000000`00000000 fffffadc`c3562d6d : nt!KeBugCheck2+0x640
fffffadc`c400eb70 fffffadc`c3548109 : 00000000`000000a5 00000000`00000003 fffffadc`e4cb5c30 ffffffff`c0000034 : nt!KeBugCheckEx+0x104
fffffadc`c400ebb0 fffffadc`c3555f4d : 00000000`c0000034 fffffadc`e3d52000 fffffadc`e3d521c8 00000000`00000000 : ACPI!ACPIBuildCompleteMustSucceed+0x39 [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\nt\buildsrc.c @ 422]
fffffadc`c400ebf0 fffffadc`c35673df : fffffadc`e3d52000 00000000`00000000 00000000`00008004 00000000`c0000034 : ACPI!ACPIGetWorkerForString+0x29d [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\nt\get.c @ 5806]
fffffadc`c400ec40 fffffadc`c3565eb7 : fffffadc`e3d52000 00000000`00000000 00000000`00008004 00000000`c0000034 : ACPI!AsyncCallBack+0x7f [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\amlinew\sync.c @ 85]
fffffadc`c400ec70 fffffadc`c3565472 : fffffadc`e3d52000 fffffadc`c357d0c0 fffffadc`c357d100 00000000`00000000 : ACPI!RunContext+0x147 [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\amlinew\ctxt.c @ 649]
fffffadc`c400eca0 fffffadc`c3565518 : 00000000`00000000 00000000`00000000 fffffadc`e3e72170 00000000`00000000 : ACPI!InsertReadyQueue+0xd2 [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\amlinew\sched.c @ 278]
fffffadc`c400ecd0 fffffadc`c3560a45 : 52025202`00000002 7c0d7c0d`7c0d7c0d fffffadc`00000001 fffffadc`00000000 : ACPI!RestartCtxtPassive+0x28 [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\amlinew\sched.c @ 384]
fffffadc`c400ed00 fffff800`0124a982 : 58de58de`5ade58de fffffadc`e4e65810 00000000`00000080 fffffadc`e4e65810 : ACPI!ACPIWorker+0xe5 [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\nt\worker.c @ 325]
fffffadc`c400ed70 fffff800`01020226 : fffffadc`c3bbb180 fffffadc`e4e65810 fffffadc`c3bc3680 00000000`00000000 : nt!PspSystemThreadStartup+0x3e
fffffadc`c400edd0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16


STACK_COMMAND:  kb

FOLLOWUP_IP:
ACPI!ACPIBuildCompleteMustSucceed+39 [c:\acpi\acpi_w2003\base\busdrv\acpi\driver\nt\buildsrc.c @ 422]
fffffadc`c3548109 cc              int     3

FAULTING_SOURCE_LINE:  c:\acpi\acpi_w2003\base\busdrv\acpi\driver\nt\buildsrc.c

FAULTING_SOURCE_FILE:  c:\acpi\acpi_w2003\base\busdrv\acpi\driver\nt\buildsrc.c

FAULTING_SOURCE_LINE_NUMBER:  422

FAULTING_SOURCE_CODE:  
No source found for 'c:\acpi\acpi_w2003\base\busdrv\acpi\driver\nt\buildsrc.c'


SYMBOL_STACK_INDEX:  4

SYMBOL_NAME:  ACPI!ACPIBuildCompleteMustSucceed+39

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME:  ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  63b1fbf8

IMAGE_VERSION:  5.2.3790.7777

FAILURE_BUCKET_ID:  X64_0xA5_ACPI!ACPIBuildCompleteMustSucceed+39

BUCKET_ID:  X64_0xA5_ACPI!ACPIBuildCompleteMustSucceed+39

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:x64_0xa5_acpi!acpibuildcompletemustsucceed+39

FAILURE_ID_HASH:  {fe462e3b-bd12-a13c-a95f-bb49a4eb48bc}

Followup: MachineOwner
---------

 

Edited by Dietmar
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...