Jump to content

Dell OptiPlex 760 MT (BIOS A16) - DSDT fix


idanka
 Share

6 posts in this topic

Recommended Posts

Hello everyone!

 

Howto fix error DSDT.dsl?

 

Dell™ Optiplex™ 760 - MINI TOWER - BIOS A16

 

String must be entirely alphanumeric (*pnp0c14)

Unknown reserved name (_WDG)

Result is not used, operator has no effect

Unknown reserved name (_S5D)

Invalid object type for reserved name (found ZERO, requires Buffer)

 

 

Thank you!

DSDT.dsl.zip

Link to comment
Share on other sites

Sorry what app has been prepared? 

These changes hack or an error? 

No get damaged in your PC?

 

 


Method (_S3D, 0, NotSerialized) replacement Method (_S2D, 0, NotSerialized)


Method (_S4D, 0, NotSerialized) replacement Method (_S3D, 0, NotSerialized)


Method (_S5D, 0, NotSerialized) replacement Method (_S4D, 0, NotSerialized)


---


DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,


                    0x00000000,         // Granularity


                    0xFC000000,         // Range Minimum


                    0xFEC00000,         // Range Maximum


                    0x00000000,         // Translation Offset


                    0x02C00000,         // Length


replacement


DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,


                    0x00000000,         // Granularity


                    0xFC000000,         // Range Minimum


                    0xFEC00000,         // Range Maximum


                    0x00000000,         // Translation Offset


                    0x02c00001,         // Length


---


DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,


                    0x00000000,         // Granularity


                    0xFC000000,         // Range Minimum


                    0xEFFFFFFF,         // Range Maximum


                    0x00000000,         // Translation Offset


                    0x00000000,         // Length


replacement


DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,


                    0x00000000,         // Granularity


                    0x00000000,         // Range Minimum


                    0xEFFFFFFF,         // Range Maximum


                    0x00000000,         // Translation Offset


                    0x00000000,         // Length


---


DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,


                    0x00000000,         // Granularity


                    0xFF97C000,         // Range Minimum


                    0xFF97FFFF,         // Range Maximum


                    0x00000000,         // Translation Offset


                    0x00004000,         // Length


replacement


DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,


                    0x00000000,         // Granularity


                    0xFF97C000,         // Range Minimum


                    0xFF97FFFF,         // Range Maximum


                    0x00000000,         // Translation Offset


                    0x00000000,         // Length


---


 Method (_CRS, 0, NotSerialized)


            {


                Name (FDB0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x03F0,             // Range Minimum


                        0x03F0,             // Range Maximum


                        0x08,               // Alignment


                        0x06,               // Length


                        _Y04)


                    IO (Decode16,


                        0x03F7,             // Range Minimum


                        0x03F7,             // Range Maximum


                        0x01,               // Alignment


                        0x01,               // Length


                        _Y05)


                    IRQNoFlags (_Y06)


                        {6}


                    DMA (Compatibility, NotBusMaster, Transfer8, _Y07)


                        {2}


                })


                CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y04._MIN, IOL0)


                CreateByteField (FDB0, 0x03, IOH0)


                CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y04._MAX, IOL1)


                CreateByteField (FDB0, 0x05, IOH1)


                CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y05._MIN, I2L0)


                CreateByteField (FDB0, 0x0B, I2H0)


                CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y05._MAX, I2L1)


 


 


replacement


Method (_CRS, 0, NotSerialized)


            {


                Name (FDB0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x03F0,             // Range Minimum


                        0x03F0,             // Range Maximum


                        0x08,               // Alignment


                        0x06,               // Length


                        _Y04)


                    IO (Decode16,


                        0x03F7,             // Range Minimum


                        0x03F7,             // Range Maximum


                        0x01,               // Alignment


                        0x01,               // Length


                        _Y05)


                    IRQNoFlags (_Y06)


                        {6}


                    DMA (Compatibility, NotBusMaster, Transfer8, _Y07)


                        {2}


                })


                CreateWordField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y04._MIN, IOL0)


                CreateByteField (FDB0, 0x03, IOH0)


                CreateWordField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y04._MAX, IOL1)


                CreateByteField (FDB0, 0x05, IOH1)


                CreateWordField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y05._MIN, I2L0)


                CreateByteField (FDB0, 0x0B, I2H0)


                CreateWordField (FDB0, \_SB.PCI0.ISA.FDC._CRS._Y05._MAX, I2L1)


---


Method (_CRS, 0, NotSerialized)


            {


                Name (PTB0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x0378,             // Range Minimum


                        0x0378,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y08)


                    IO (Decode16,


                        0x0778,             // Range Minimum


                        0x0778,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y09)


                    IRQNoFlags (_Y0A)


                        {7}


                    DMA (Compatibility, NotBusMaster, Transfer8, _Y0B)


                        {}


                })


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._MIN, IOL0)


                CreateByteField (PTB0, 0x03, IOH0)


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._MAX, IOL1)


                CreateByteField (PTB0, 0x05, IOH1)


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._ALN, LALN)


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._LEN, LLEN)


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y09._MIN, I2L0)


                CreateByteField (PTB0, 0x0B, I2H0)


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y09._MAX, I2L1)


 


replacement


Method (_CRS, 0, NotSerialized)


            {


                Name (PTB0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x0378,             // Range Minimum


                        0x0378,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y08)


                    IO (Decode16,


                        0x0778,             // Range Minimum


                        0x0778,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y09)


                    IRQNoFlags (_Y0A)


                        {7}


                    DMA (Compatibility, NotBusMaster, Transfer8, _Y0B)


                        {}


                })


                CreateWordField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._MIN, IOL0)


                CreateByteField (PTB0, 0x03, IOH0)


                CreateWordField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._MAX, IOL1)


                CreateByteField (PTB0, 0x05, IOH1)


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._ALN, LALN)


                CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y08._LEN, LLEN)


                CreateWordField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y09._MIN, I2L0)


                CreateByteField (PTB0, 0x0B, I2H0)


                CreateWordField (PTB0, \_SB.PCI0.ISA.PRT._CRS._Y09._MAX, I2L1)


---


Method (_CRS, 0, NotSerialized)


            {


                Name (CMA0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x03F8,             // Range Minimum


                        0x03F8,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y0C)


                    IRQNoFlags (_Y0D)


                        {4}


                })


                CreateByteField (CMA0, \_SB.PCI0.ISA.COMA._CRS._Y0C._MIN, IOL0)


                CreateByteField (CMA0, 0x03, IOH0)


                CreateByteField (CMA0, \_SB.PCI0.ISA.COMA._CRS._Y0C._MAX, IOL1)


 


replacement


Method (_CRS, 0, NotSerialized)


            {


                Name (CMA0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x03F8,             // Range Minimum


                        0x03F8,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y0C)


                    IRQNoFlags (_Y0D)


                        {4}


                })


                CreateWordField (CMA0, \_SB.PCI0.ISA.COMA._CRS._Y0C._MIN, IOL0)


                CreateByteField (CMA0, 0x03, IOH0)


                CreateWordField (CMA0, \_SB.PCI0.ISA.COMA._CRS._Y0C._MAX, IOL1)


---


Method (_CRS, 0, NotSerialized)


            {


                Name (CMB0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x03F8,             // Range Minimum


                        0x03F8,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y0E)


                    IRQNoFlags (_Y0F)


                        {4}


                })


                CreateByteField (CMB0, \_SB.PCI0.ISA.COMB._CRS._Y0E._MIN, IOL0)


                CreateByteField (CMB0, 0x03, IOH0)


                CreateByteField (CMB0, \_SB.PCI0.ISA.COMB._CRS._Y0E._MAX, IOL1)


 


replacement


Method (_CRS, 0, NotSerialized)


            {


                Name (CMB0, ResourceTemplate ()


                {


                    IO (Decode16,


                        0x03F8,             // Range Minimum


                        0x03F8,             // Range Maximum


                        0x08,               // Alignment


                        0x08,               // Length


                        _Y0E)


                    IRQNoFlags (_Y0F)


                        {4}


                })


                CreateWordField (CMB0, \_SB.PCI0.ISA.COMB._CRS._Y0E._MIN, IOL0)


                CreateByteField (CMB0, 0x03, IOH0)


                CreateWordField (CMB0, \_SB.PCI0.ISA.COMB._CRS._Y0E._MAX, IOL1)


 


Thank you for the simple answer :)


 


Link to comment
Share on other sites

Sorry, I don't understand what you want...

 

You have indeed correctly identified my changes to get you an error-free DSDT:

  1. For _SxD methods, it's easy to understand: _S2D was not used and _S5D is not a known method, so... you can see my simple down shift
  2. For DWordMemory, I let DSDTEditor recalculate correct values automatically
  3. For CreateByteField -> CreateWordField, I simply adjusted format according to what DSDTEditor was reporting, i.e. a 16bit value declared with a byte (Word=16bit value, DWord=32bit value).

I have had to do these sort of things myself on my Precision 670 and nothing broke, it works perfectly. Bear in mind that DSDTs are often badly written...

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...