Jump to content

Damnation

Member
  • Posts

    781
  • Joined

  • Last visited

  • Days Won

    3
  • Donations

    0.00 USD 
  • Country

    Australia

Posts posted by Damnation

  1. @Mov AX, 0xDEAD

    So Looking at the Windows 8.0 acpi.sys driver and comparing to my compiled version I think that

    Quote

        "ACPI0007",        &AcpiProcessorIrpDispatch,

    and

    Quote

        "ACPI0007",         DEV_MASK_INTERNAL_DEVICE | DEV_CAP_PROCESSOR,  //0x10 0030 0000

    is what the code should be looking at the both acpi.sys drivers in disassembly and comparing AcpiInternalDeviceFlagTable in hex between the two.

    So I think the only thing that the Windows 8.0 acpi.sys driver does at this point is somehow convert the string "ACPI\ACPI0007" into "ACPI\Processor" and it then gets processed by cpu.inf - so code for ACPI0010 may not be necessary?

  2. @Mov AX, 0xDEAD

    OK,

    Adding this code
     

    Quote

     

    INTERNAL_DEVICE_FLAG_TABLE   AcpiInternalDeviceFlagTable[] = {

    ...

    ACPI0007, DEV_CAP_NO_FILTER | DEV_CAP_NO_STOP | DEV_CAP_PROCESSOR,  //0x10 0030 0000

    ...

    }

     

    this caused all of the ACPI0007 devices to completely disappear from the ACPI0010 container.

    this line
     

    Quote

     

    "Processor",        &AcpiProcessorIrpDispatch,

    "ACPI0007",        &AcpiProcessorIrpDispatch,

     

    this at first seemed like it did nothing, except now when I manually brute force install the processor it now freezes my system. With the older acpi.sys it simply says "Device cannot Start (code 10)" after a brute force install and does not freeze.

    any more ideas I could try?

  3. @Mov AX, 0xDEAD

    ACPI0007 makes use of AcpiProcessorIrpDispatch the same as Processor in Windows 10 acpi.sys

    https://ibb.co/s97TwCW

    spacer.png

    AcpiProcessorIrpDispatch does not seem to have been altered since XP and remains the same.

    10 AcpiProcessorIrpDispatch

    https://ibb.co/Kb6tpVp

    spacer.png

    XP AcpiProcessorIrpDispatch

    https://ibb.co/hK8xRwY

    spacer.png

    I did try to add ACPI0007 in to XP acpi.sys - but my lack of good programming skills meant I was not able to do this successfully.

    edit: In \driver\nt\dat.c

    	//
    	// Any device in this table is considered to be 'special'
    	//
    	INTERNAL_DEVICE_TABLE AcpiInternalDeviceTable[] = {
    	"ACPI0006", &AcpiGenericBusIrpDispatch,
    	"FixedButton", &AcpiFixedButtonIrpDispatch,
    	"PNP0000", &AcpiRawDeviceIrpDispatch,
    	...
    	"DockDevice", &AcpiDockPdoIrpDispatch,
    	"ThermalZone", &AcpiThermalZoneIrpDispatch,
    	"Processor", &AcpiProcessorIrpDispatch,
    	NULL, NULL
    	} ;
    	

  4. @Mov AX, 0xDEAD

    The Classic Definition way worked, I borrowed the ASL code from one of my other systems that is working properly in XP. I suppose I should learn what the arguments mean. I'm happy that I've got a known good ACPI table mod now at least, even if I have to apply it at boot each time.

    Any ideas on why Processor() is not called? Could my theory that the Processor Container Device as the cause be correct? or do you think it's something else?

  5. @Mov AX, 0xDEAD

    They do show up in Device Manager with ACPI0007 for their HWIDs.

    I did try brute forcing them to install in Device Manager by installing the cpu.inf driver, they install, they just get the name "Processor" and they can not be started. I could only get them to start after I did the table mod.

    I know @daniel_k thinks I faked it but that's why they just had the name "Processor" in the earlier screenshot, it was because of the earlier brute force install attempt before I did the mod.

×
×
  • Create New...