Jump to content
el coniglio

DSDT Editor e Patcher

Recommended Posts

Atualizado:

 

MaciASL

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 e do MaLd0n.

 

Para download e mais informações, confira esse tópico.

 

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

 

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)

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)

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)

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

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)

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 http://code.google.com/p/jsyntaxpane/

IASL, da Intel

Feito em Java

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...
The popup will be closed in 15 seconds...