-->Donations via PayPal [External Link Removed for Guests] :guitar
-->Installation/Post Installation Tutorial [Local Link Removed for Guests]
-->Useful Links [Local Link Removed for Guests]
-->Olarila Images - Updated images [Local Link Removed for Guests]
-->Guides and Tutorials [Local Link Removed for Guests]
-->Clover Folder for All Chipsets [Local Link Removed for Guests]
-->DSDT Patch Requests [Local Link Removed for Guests]

DSDT Editor e Patcher

Post Reply
User avatar
el coniglio
Developer
Developer
Posts: 19
Joined: 24 Dec 2010, 10:50

DSDT Editor e Patcher

Post by el coniglio » 24 Dec 2010, 12:25

Atualizado:

[External Link Removed for Guests]
Novo editor desenvolvido por phpdev32, compatível com os patches do DSDT Editor.


Estou disponibilizando o DSDT Editor, feito por mim com a ajuda do oldnapalm.

Para download e mais informações, confira esse [Local Link Removed for Guests].

Dentro do pacote existe uma pasta com alguns exemplos e um rtf que explica a sintaxe dos comandos.

Segue um screenshot:
Image

Seguem alguns exemplos de como criar seu próprio patch:

1. Verificas todos os scopes com o nome _PR e remove as linhas de Alias() (cpus=1 fix)

Code: [Local Link Removed for Guests]

into_all scope label _PR code_regex Alias\s\([^\n]+\n removeall_matched
2. Dentro do método _PTS, substitui o código por um que usa um valor capturado com regex (shutdown fix)

Code: [Local Link Removed for Guests]

into method label _PTS code_regex_not LEqual\s\(Arg0,\s0x05\) code_regex ^((?:.|\n)*)$ replace_matched
begin
        If (LEqual (Arg0, 0x05)) {}\n
        Else\n
        {\n
%1
        }\n
end
3. Em um device com um _ADR específico, adiciona um código (orange AHCI hd icon fix)

Code: [Local Link Removed for Guests]

into method label _DSM parent_adr 0x001F0002 remove_entry;
into device name_adr 0x001F0002 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
	Store (Package (0x02)\n
		{\n
			"device-id", \n
			Buffer (0x04)\n
			{\n
				0x81, 0x26, 0x00, 0x00\n
			}\n
		}, Local0)\n
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
	Return (Local0)\n
}\n
end
4. Em um device com um _HID específico, adiciona código

Code: [Local Link Removed for Guests]

into device label HDEF parent_hid PNP0A08 remove_entry;
into device name_hid PNP0A08 insert
begin
Device (HDEF)\n
{\n
	Name (_ADR, 0x001B0000)\n
	Method (_DSM, 4, NotSerialized)\n
	{\n
		Store (Package (0x08)\n
			{\n
				"codec-id", \n
				Buffer (0x04)\n
				{\n
					0x9B, 0x82, 0x43, 0x10\n
				}, \n
\n
				"layout-id", \n
				Buffer (0x04)\n
				{\n
					0x0C, 0x00, 0x00, 0x00\n
				}, \n
\n
				"device-type", \n
				Buffer (0x17)\n
				{\n
					"Analog Devices AD1988B"\n
				}, \n
\n
				"PinConfigurations", \n
				Buffer (0x24)\n
				{\n
					/* 0000 */	0x30, 0x40, 0x21, 0x01, 0x10, 0x40, 0x11, 0x01, \n
					/* 0008 */	0x40, 0x90, 0xA1, 0x01, 0x50, 0x30, 0x81, 0x01, \n
					/* 0010 */	0x60, 0x10, 0x01, 0x01, 0x20, 0x90, 0xA0, 0x90, \n
					/* 0018 */	0x80, 0xF1, 0x45, 0x01, 0x90, 0xF1, 0xC5, 0x01, \n
					/* 0020 */	0x70, 0x60, 0x01, 0x01\n
				}\n
			}, Local0)\n
		DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
		Return (Local0)\n
	}\n
}\n
end
5. Um patch um pouco mais complexo (HPET/RTC/PIC/TMR irqs fix)

Code: [Local Link Removed for Guests]

into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} store_%8;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} store_%9;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0103 code_regex_not IRQNoFlags code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%1, ResourceTemplate ()\n
					{\n
						IRQNoFlags ()\n
							{%8}\n
						IRQNoFlags ()\n
							{%9}\n
%2
})\n
end
Créditos: o componente editor [External Link Removed for Guests]
IASL, da Intel
Feito em Java
Post Reply

Return to “DSDT”