Dietmar Posted May 8, 2022 Share Posted May 8, 2022 @Mov AX, 0xDEAD GpioIo ( appears also in working DSDT. But Connection ( can be seen only in DSDT which gives DDB Bsod Dietmar Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted May 8, 2022 Author Share Posted May 8, 2022 (edited) 31 minutes ago, Dietmar said: @Mov AX, 0xDEAD GpioIo ( appears also in working DSDT. But Connection ( can be seen only in DSDT which gives DDB Bsod Dietmar XP lacks Connection (0x02) opcode in ParseField() Basicaly GPIO will never(ACPI v5.x standart) work in XP, we will have only interpreter bypass fix Edited May 8, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Dietmar Posted May 8, 2022 Share Posted May 8, 2022 @Mov AX, 0xDEAD Yepp, I see the strange symbols in output from Windbg. ba15058a: Device(GPO0)OSNotifyCreate: 8A4282C8 (GPO0) = 00000103 ba150592: { ba150592: Name(_ADR,Zero) ba150598: Name(_HID,"INT33FC") ba1505a6: Name(_CID,"INT33FC") ba1505b4: Name(_DDN,"ValleyView2 General Purpose Input/Output (GPIO) controller") ba1505f5: Name(_UID,One) ba1505fb: Method(_CRS,0x8) ba150627: Method(_STA,0x0) ba1506d1: Name(AVBL,Zero) ba1506d7: Method(_REG,0x2) ba1506ea: OperationRegion(GPOP,0x1,GPBS=0x500,0x50) ba1506f7: Field(GPOP,0x1) ba1506ff: { ba150702: Offset(0x28), ba150704: ,21, ba150709: BTD3,1, ba15070c: Offset(0x48), ba15070e: ,30, ba150713: SHD3,1 ba150713: } ba150713: OperationRegion(GPO2,0x8,Zero,0xc) ba15071d: Field(GPO2,0x1) ba150725: { ba15072a: & ,35, ba15072f: Œ ,1, ba150732: AccessAs(0x0,0x2), ba150734: ,0, ba150736: ,0, ba150738: ,0, ba15073d: ,0, ba150743: #,15, ba150748: \_SB,46AMLI_ERROR(c0000035): Object already exist CreateNameSpaceObject: object already exist - \_SB Do you have an idea, how to exclude or fake Connection ( in acpi.sys Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted May 8, 2022 Share Posted May 8, 2022 (edited) I found this DSDT word "connection" in ACPIspec50.pdf from December 6, 2011 for the very first time. Now it is clear, why xp, vista, win7 and (win8) dont like this Acpi5 word "connection" in DSDT. Connection (GMOD), // Re-Use an existing connection (defined elsewhere) Connection ( ConnectionResource // NameString | ResourceMacroTerm ) Dietmar Edited May 8, 2022 by Dietmar Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted May 8, 2022 Author Share Posted May 8, 2022 (edited) Hi Can someone share ACPI.SYS Windows 8.0. or Windows 8.1 x32 checked version ? (from checked installation ISO) Edited May 8, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
daniel_k Posted May 8, 2022 Share Posted May 8, 2022 20 minutes ago, Mov AX, 0xDEAD said: Hi Can someone share ACPI.SYS Windows 8.0. or Windows 8.1 x32 checked version ? (from checked installation ISO) I'm downloading the ISO, will send you a PM with the file in 5 minutes. Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted May 8, 2022 Author Share Posted May 8, 2022 6 minutes ago, daniel_k said: I'm downloading the ISO, will send you a PM with the file in 5 minutes. Thanks, usual acpi.sys compiled with deep optimization, unknow mixed register/stack calling convection, hard to decompile Link to comment Share on other sites More sharing options...
Dietmar Posted May 8, 2022 Share Posted May 8, 2022 @daniel_k I am faster^^ Here is acpi.sys Debug from Win8 bit32 Dietmar https://ufile.io/zaglqzt1 1 Link to comment Share on other sites More sharing options...
Dietmar Posted May 8, 2022 Share Posted May 8, 2022 I also found Debug version of Win8.1 . Download finished in about 5 hours, brrr.. Dietmar https://windowstan.com/win/windows-8-1-debug-checked-build Link to comment Share on other sites More sharing options...
daniel_k Posted May 8, 2022 Share Posted May 8, 2022 23 minutes ago, Dietmar said: I also found Debug version of Win8.1 . Download finished in about 5 hours, brrr.. Don't worry, just sent the file to @Mov AX, 0xDEAD 1 Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted May 8, 2022 Author Share Posted May 8, 2022 Quote Field (GPO2, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x005F } ), SHS3, 1 } .... Device (SHUB) Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If ((^^^GPO0.AVBL == One)) { If ((OSEL == 0x02)) { ^^^GPO0.SHD3 = Zero } Else { ^^^GPO0.SHS3 = Zero } } } Ignoring Connection broke access to SHS3 from other part of DSDT to parse this new opcode, Win8 acpi.sys has new ParseFieldConnection((_ctxt *pctxt, XXX *pConnection)) to store connection config, _FieldDesc has new fields, last field has variable len: Quote struct _FieldDesc// Size=0x24 { unsigned long dwByteOffset;// Offset=0x0 Size=0x4 unsigned long dwStartBitPos;// Offset=0x4 Size=0x4 unsigned long dwNumBits;// Offset=0x8 Size=0x4 unsigned long dwFieldFlags;// Offset=0xc Size=0x4 unsigned char bAttribLength;// Offset=0x10 Size=0x1 unsigned char __align0[3];// Offset=0x11 Size=0x3 enum _CONNECTIONTYPE ConnectionType;// Offset=0x14 Size=0x4 unsigned long dwConnectionFirstBitPos;// Offset=0x18 Size=0x4 unsigned long dwConnectionLength;// Offset=0x1c Size=0x4 unsigned char abConnectionData[YYY];// Offset=0x20 Size=0x1 .... }; I think these new fileds used in some field functions read/write/access to connection alias SHS3 1 Link to comment Share on other sites More sharing options...
Dietmar Posted May 8, 2022 Share Posted May 8, 2022 May be this is interesting about the use of connection() in acpi5 Dietmar https://uefi.org/specs/ACPI/6.4/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html#gpio-signaled-acpi-events Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted May 8, 2022 Author Share Posted May 8, 2022 (edited) Easy-Peasy way: skip GpioIo definition and assume SHS3 as memory field Quote OperationRegion (GPO2, GeneralPurposeIo, Zero, 0x0C) Field (GPO2, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x005F } ), SHS3, 1 } To: Quote OperationRegion (GPO2, GeneralPurposeIo, Zero, 0x0C) Field (GPO2, ByteAcc, NoLock, Preserve) { SHS3, 1 } I know this is wrong, OperationRegion can be NULL or dummy, but we don't have any GPIO support in acpi.sys anyway GeneralPurposeIo = 0x08, missed in XP acpi.sys Edited May 8, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Dietmar Posted May 8, 2022 Share Posted May 8, 2022 @Mov AX, 0xDEAD Yepp, this is the way, that I modd my DSDT for the Flex 10. This means editing of DSDT. How can acpi.sys been told to ignore the connection () ? By the way, how is sense for such a acpi5 word connection () in DSDT, when acpi.sys does not work at all with the GPIO pins Dietmar Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted May 8, 2022 Author Share Posted May 8, 2022 22 minutes ago, Dietmar said: @Mov AX, 0xDEAD How can acpi.sys been told to ignore the connection () ? @Dietmar Same way as double devce definition was fixed, jump opcode pointer to next object Just wait fix in few days 2 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now