Jump to content

Damnation

Member
  • Posts

    792
  • Joined

  • Last visited

  • Days Won

    3
  • Donations

    0.00 USD 
  • Country

    Australia

Posts posted by Damnation

  1. @Dietmar

    You must use the compiled AML binary file and not the DSL file, do not rename DSL file, compile it into AML.

    I may have gotten the command slightly wrong

    instead of

    grub> acpi (hd0,2)/acpi/dsdt.aml

    it should be

    grub> acpi (hd0,msdos2)/acpi/dsdt.aml

    you can check if this is correct by typing

    grub> acpi (hd0,msdos2)/

    and then pressing TAB to see the directory listing and see where you are.

    Make sure the /acpi/ folder exists.

  2. @Dietmar

    Here are my original and modded ACPI tables -

    https://ufile.io/5spx5ygt

    You should try the grub2 boottime method. It's a much safer option once it's setup.

    like for mine all I need to type in the grub console is

    grub> acpi (hd0,2)/acpi/dsdt.aml

    grub> acpi (hd0,2)/acpi/ssdt2.aml

    grub> acpi (hd0,2)/acpi/ssdt3.aml

    grub> acpi (hd0,2)/acpi/ssdt6.aml

    and then boot XP and it worked.

    Have you got any USB drives with grub2 installed on it?

  3. @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?

  4. @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?

  5. @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
    	} ;
    	

×
×
  • Create New...