Closed iG8R closed 1 month ago
Line 13264 looks suspicios to me. That makes no sence after a Return statement. Maybe just delete ist? A quick and dirty test:
$ grep -A1 Return DSDTmod.dsl | egrep -v "{|}" | grep -v "\-\-" | grep -v Return
Arg0
Thanks a lot for the answer. After deleting
13261: If (CondRefOf (MDBG))
13262: {
13263: Return (MDBG) /* External reference */
-13264: Arg0
13265: }
13266: Return (Zero)
Got the following:
Just a guess but do you have any idea after which ACPI spec version you did the decomiling? Maybe it doesn't match with the one used to compile.
Sorry, what version of ACPI are you referring to?
All my steps are described in the first post. I even tried to compile a version without any mods
Still with the same errors
I just read somewhere that this might be an issue. Also
$ iasl -h | head
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20200925
Copyright (c) 2000 - 2020 Intel Corporation
Supports ACPI Specification Revision 6.3
Usage: iasl [Options] [Files]
Options:
I can not understand in detail what exactly you have done since I don't have Windows. Also I am not an expert. Hopefully someone else knows better.
Oh, pardon me.
f:\_Downloads\AmiBoardInfoTool (UEFI)>iasl -h
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20230628
Copyright (c) 2000 - 2023 Intel Corporation
Supports ACPI Specification Revision 6.3
Usage: iasl [Options] [Files]
Could you please try to decompile DSDT.aml.zip
and then compile DSDTmod.dsl.zip
, that mentioned below, on your system?
Maybe, something wrong with my iasl.exe
version or PC...
iasl DSDT.aml
to decompile the DSDT.aml to DSDT.dslQWordMemory
and M1LN
sections
resulted file - DSDTmod.dsl.zipiasl DSDTMod.dsl
I can take a look over the weekend but as I said I am not an expert. In the meanwhile have you read this? https://github.com/xCuri0/ReBarUEFI/wiki/DSDT-Patching#common-dsdt-errors-and-fixes
Thank you very much for your concern and participation. I really appreciate it. Yeah, I tried, but I got stuck at some point. After removing Agr0
13261: If (CondRefOf (MDBG))
13262: {
13263: Return (MDBG) /* External reference */
-13264: Arg0
13265: }
13266: Return (Zero)
First, I solved
DSDTMod.dsl 3061: IO (Decode16,
Error 6090 - ^ Min/Max/Length/Gran are all zero, but no resource tag
by removing the IO (Decode16
variable here
3055: IO (Decode16,
3056: 0x0000, // Range Minimum
3057: 0x0000, // Range Maximum
3058: 0x00, // Alignment
3059: 0x00, // Length
3060: _Y11)
-3061: IO (Decode16,
-3062: 0x0000, // Range Minimum
-3063: 0x0000, // Range Maximum
-3064: 0x00, // Alignment
-3065: 0x00, // Length
-3066: )
3067: })
3068: Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
After that I proceeded to the following error
DSDTMod.dsl 8875: Device (SDMA)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Where is the following code present, which I tried to delete
-8873: Scope (_SB.PCI0)
-8874: {
-8875: Device (SDMA)
-8876: {
-8877: }
-8878: }
-8879:
8880: If ((SMD0 != 0x02))
8881: {
8882: Scope (_SB.PCI0.SDMA)
8883: {
8884: Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID
8885: Name (_UID, One) // _UID: Unique ID
8886: Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
8887: {
8888: Return (LCRS (SB00, SIR0))
But I received a new error, which was not there before, and what to do with it I do not know
DSDTMod.dsl 8875: Scope (_SB.PCI0.SDMA)
Error 6161 - ^ One or more objects within the Pathname do not exist (_SB.PCI0.SDMA)
as I understand, Device (SDMA)
requires a _HID or _ADR
, but where can I get them?
That is where I got stuck...
Following the general programming logic, I fixed the errors, but the question remains - did I understand this logic correctly and, accordingly, are the changes I made correct.
I corrected all errors according to the following template:
Original code that caused the error
Scope (_SB.PCI0)
{
Device (SDMA)
{
}
}
If ((SMD0 != 0x02))
{
Scope (_SB.PCI0.SDMA)
{
Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SB00, SIR0))
}
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (^^LPCB.CRID) /* \_SB_.PCI0.LPCB.CRID */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SMD0 == Zero))
{
Return (Zero)
}
If ((OSYS < 0x07DD))
{
LPD3 (SB10)
Return (Zero)
}
Return (0x0F)
}
}
}
If ((SMD0 == 0x02))
{
Scope (_SB.PCI0.SDMA)
{
Name (_ADR, 0x00150000) // _ADR: Address
}
}
Corrected code that compiles fine
Scope (_SB.PCI0)
{
Device (SDMA)
{
If ((SMD0 != 0x02))
{
Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SB00, SIR0))
}
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (^^LPCB.CRID) /* \_SB_.PCI0.LPCB.CRID */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SMD0 == Zero))
{
Return (Zero)
}
If ((OSYS < 0x07DD))
{
LPD3 (SB10)
Return (Zero)
}
Return (0x0F)
}
}
If ((SMD0 == 0x02))
{
Name (_ADR, 0x00150000) // _ADR: Address
}
}
}
DSDTmod.dsl.fixed.zip DSDTmod.dsl.zip DSDTorig.dsl.zip
@xCuri0 Hello. Could you please spare your time and confirm if my logic is correct or not?
just flash the modified bios
Worst thing that can happen from a bad DSDT is BSOD ACPI error you will still be able to go to setup menu and flash a working one
System
Description
Hello.
I went through the following steps, but bumped into an issue which I have no idea how to fix. Maybe someone can help me in this situation.
1. Added FFS module (https://github.com/xCuri0/ReBarUEFI/wiki/Adding-FFS-module)
Original BIOS - H97M-ITXac(1.90)ROM.zip Modified it by adding ReBarDxe.ffs - H9MXAC_190wReBarDxe.ffs.zip
2. Used UEFIPatch https://github.com/xCuri0/ReBarUEFI/wiki/Using-UEFIPatch to apply patches.txt and BdwUSB3.txt
Patched previously modified ROM - H9MXAC_190wReBarDxe.ffs.rom.patched.zip
There were no pad file issues.
3. Continued with DSDT Patching (https://github.com/xCuri0/ReBarUEFI/wiki/DSDT-Patching) and then a bummer awaited me.
iasl DSDT.aml
to decompile the DSDT.aml to DSDT.dslQWordMemory
andM1LN
sections iasl.exe - iasl.exe.zip resulted file - DSDTmod.dsl.zipiasl DSDTMod.dsl
, butiasl
reports the following errorsIntel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20230628 Copyright (c) 2000 - 2023 Intel Corporation
Error 6126 - Compiler aborting due to parser-detected syntax error(s)
DSDTmod.dsl 13265: } Error 6126 - ^ syntax error, unexpected '}'
DSDTmod.dsl 17503: Error 6126 - syntax error, unexpected $end and premature End-Of-File
Error 6126 - Compiler aborting due to parser-detected syntax error(s)
DSDTmod.dsl 13265: } Error 6126 - ^ syntax error, unexpected '}'
DSDTmod.dsl 17503: Error 6126 - syntax error, unexpected $end and premature End-Of-File
Input file: DSDTmod.dsl - Compilation aborted due to parser-detected syntax error(s)
Compilation failed. 3 Errors, 0 Warnings, 0 Remarks No AML files were generated due to syntax error(s)