Red de conocimiento informático - Material del sitio web - Cómo hacer un parche DSDT con un parche ACPI

Cómo hacer un parche DSDT con un parche ACPI

Mucha gente sabe que los parches DSDT se pueden usar para abrir núcleos duales, pero la función de DSDT no es solo eso, además de abrir núcleos duales, también puede reparar defectos ACPI (sin Disabler.kext, versión original). p>cpupowermanagement funciona normalmente), RTC, defectos de HPET (el kext original funciona normalmente), tarjetas gráficas (reemplazando efistring), tarjetas de sonido (solo reemplazando

HDAEnabler.kext), tarjetas de red (incluidos problemas con TimeMachine) y se pueden resolver muchos otros problemas extraños. Se recomienda utilizar parches DSDT tanto como sea posible.

Pero ¿qué es DSDT y qué magia tiene? Esto comienza con ACPI, que es la especificación de firmware estándar para las plataformas Intel (i386, x86_64, IA64).

La mayor parte de la información que el sistema operativo necesita obtener del BIOS se puede obtener de ACPI. La tendencia actual es que cualquier información nueva relacionada con funciones en el futuro solo se puede obtener de ACPI.

La información ACPI incluye:

Información de configuración, que va desde la configuración de dispositivos PNP heredados hasta multiprocesadores y NUMA. Por ejemplo, la información de MultipleCore ahora solo está disponible en ACPI. Linux inicia una gran cantidad de código para manejar esta información de configuración, como APIC, configuraciones IOAPIC, etc.

Equipos relacionados con ACPI, principalmente equipos relacionados con portátiles, incluidos botones de encendido, baterías, fuentes de alimentación externas, ventiladores, teclas de acceso rápido, etc.

Hardware subyacente, como enrutamiento de interrupciones PCI, operación del chipset (principalmente Southbridge PCI a LPCbridge), etc.

La administración de energía definida por ACPI incluye la administración de energía de la CPU (ajuste del estado de frecuencia P, estado inactivo y aceleración).

estado t), administración de energía del dispositivo (estado D), administración de energía del sistema (suspender a ram, suspender a disco, encendido.

Apagado), etc.

Conexión y desconexión en caliente de dispositivos, ACPI describe uniformemente la conexión y desconexión en caliente de dispositivos, desde un único dispositivo PCI hasta la estación de acoplamiento de una computadora portátil y toda la jerarquía PCI, CPU, memoria y incluso todos los nodos NUMA.

Se puede decir que para comprender la plataforma de PC moderna, debemos comprender ACPI. ACPI se compone principalmente de muchas tablas. dsdt (tabla de descripción de sistemas diferenciados) es una de las tablas ACPI más importantes y se define de la siguiente manera.

DSDT es la abreviatura de tabla de descripción del sistema diferencial.

Esta tabla contiene el bloque de definición diferencial, que proporciona

información sobre el sistema base e información de configuración.

En pocas palabras, contiene toda la información sobre el dispositivo además del sistema base. Todas las máquinas del sistema base son iguales. Esto se especifica en acpispec.

Sí, pero cada máquina es diferente, por lo que los diferentes dispositivos se describen principalmente mediante tablas DSDT. Contiene una gran cantidad de códigos contra el lavado de dinero. La mayoría de los BIOS están desarrollados para Windows, y el propio Windows no sigue completamente la especificación acpi, por lo que debido a errores del BIOS, el código en sí puede ser incorrecto, lo que provoca errores en otros sistemas, como Linux y Mac OS.

Podemos corregir estos errores manualmente y hacerlos compatibles con sistemas MAC. DSDT existe en forma de un archivo aml compilado en la BIOS. Debe analizarse y descompilarse en un formato de código aml (archivo de texto dsl), modificar y recompilar el código y reemplazar el original. tabla dsdt en la bios. Sin embargo, con la llegada de PC-EFI y Chameleon, ya no necesitamos correr riesgos.

Bios, siempre que coloque el archivo DSDT.aml preparado en el directorio raíz o en la carpeta /Extra, se utilizará automáticamente al inicio para reparar ACPI.

El papel de los defectos del sistema.

Sin embargo, rara vez se describe en detalle cómo crear un parche DSDT. El software en Mac solo puede usar dsdt.aml para resolver el problema de doble núcleo y acpi. Si quieres solucionar más problemas, debes

Tienes que volver a Windows y usar ACPIPatcher, un software en el foro de insanemac.

Este software es relativamente complejo. Hoy aprenderemos a utilizar este software.

Ley.

La interfaz del software se muestra en la imagen de arriba. En la esquina superior izquierda, puede especificar BIOS y crear parches, en la esquina superior derecha, puede seleccionar opciones de parche, en la esquina inferior izquierda, puede generar información y en la esquina inferior derecha, puede ver el progreso.

Primero echemos un vistazo a las funciones específicas de cada etiqueta en la parte superior izquierda.

biosPatch: seleccione una BIOS para crear dsdt.aml, seleccione el archivo Bios y especifique el directorio de salida de dsdt.aml, seleccione GenerateDSDT.aml y luego presione el botón Patch Bios. El directorio de salida no puede ser el directorio del BIOS; de lo contrario, se producirá un error.

DSDTPatch: acpi repara un DSDT.aml existente, selecciona DSDT.aml, especifica el directorio de salida y presiona PatchAML.

Importar DSDT: utilice el archivo DSDT.dsl existente para parchear la BIOS, seleccione el archivo DSL y la BIOS importados y haga clic en PatchBios.

Exportar DSDT: decodifica el archivo DSDT.dsl de la BIOS, selecciona el archivo de la BIOS y el directorio de salida y presiona Exacto.

D/CDSDT: DSL se compila en un archivo AML, o un archivo AML se descompila en un archivo DSL, dependiendo de si selecciona Compilar o Descompilar. Cuando se selecciona compilar,

Si también se selecciona Patchbefore compile, puede colocar parches ACPI al compilar el DSL en un archivo AML.

Después de leer la etiqueta superior izquierda, veamos la parte más importante, los detalles de la corrección de errores en la parte superior derecha.

General:

Aquí están las tres correcciones más importantes, HPETPatch, RTCPatch y AliasesPatch. Los dos primeros pueden resolver algunos problemas de reloj en muchas máquinas.

Administración de energía Applelntelcpu. kext se utilizará en cuatro países; de lo contrario, no funcionará correctamente y requerirá Disabler.kext. Si elige los dos primeros elementos,

De ahora en adelante, puede desechar Disabler.kext debido a AppleTelcpupowermanagement. kext puede funcionar normalmente, la tercera opción puede ser más

Es importante destacar que AliasesPatch corresponde directamente a si se puede activar el doble núcleo. Esta opción es muy importante para las placas base ASUS y MSI. Gigabyte no tiene este problema, por lo que no importa si lo eliges o no.

Haz clic en Reparar... para ver una nueva ventana.

Esto

corrige algunos errores o advertencias durante la compilación. El punto del autor es que puedes elegir cuándo aparecen estos errores o advertencias, mi punto es que los elijas todos.

Opcional, para evitar errores o advertencias, si aún hay problemas, debe buscar soluciones en línea, modificar el código usted mismo y luego compilar.

Red:

Esto es relativamente complicado. Necesitas saber dónde está el hardware. Esto se puede ver a través de ioRegistryExplorer. Lan0 debe ser una tarjeta de red de 100M y GIGE es una red Gigabit.

FixGP9 consiste en agregar un elemento de control GPIO9 y usar UseTime Machine Fix para fijar la hora.

La máquina no puede encontrar la tarjeta de red incorporada. El siguiente es el diagrama de configuración de la tarjeta de red Gigabit Gigabyte p43p 45 realtek 8111C. Su ubicación de hardware es PEX 5.

Gráficos:

Con configuraciones razonables, puede reemplazar completamente efi-string, natit, nvinject, nvdarwin, nvkush, etc. Primero, seleccione el modelo de su tarjeta gráfica en Modelo.

Y tamaño de la memoria de vídeo. Las opciones verdes a continuación son n cartas y las opciones rojas son cartas. Para la tarjeta N, debe configurar el valor nvcap, y para la tarjeta A, debe configurar Framebuffer y.

DevID y ubicación de hardware deben verse mediante ioRegistryExplorer, y se deben seleccionar tanto PEGP como Usar DSDT GFX.

Aquí, tomando como ejemplo la dirección de hardware PCI 0, se dan ejemplos de tarjetas gráficas nVidia8800 GT 512MB y ATI HD3870 512MB.

NVIDIA 8800 GT512MB

ATI HD3870 512MB

Audio:

HDAEnabler.kext se puede reemplazar configurando el audio. La configuración es sencilla. Hay tres tipos preestablecidos en AudioChipset y Realtek.

ALC888-0, Realtek ALC888-2, RealtekALC889a y ALC888 corresponden a la dirección 0 y dirección respectivamente.

2. Para Gigabyte P43 y P45, elija Realtek ALC888-0 para ALC888 integrado y Realtek ALC889a para ALC889. También elija usarlo.

Audio HDEF, tome 889 como ejemplo.

Después de leer la corrección de errores y ForceDSDT, observe las dos opciones de compilación en la esquina inferior izquierda.

Compilar significa forzar la compilación, incluso si hay errores, se detendrá en el momento de la compilación.

Advertencia significa detener la compilación cuando ocurre una advertencia. Las personas que buscan la perfección pueden elegir esta opción, porque dsdt de 0error y 0warning significa que no hay errores de sintaxis.

Hay otra opción a la derecha, que es la selección del tipo de BIOS. Seleccione Award o AMI según su tipo de BIOS. La biografía de Gigabyte ganó el premio.

Actualmente existen tres tipos populares de BIOS de placa base: Award BIOS, AMI BIOS y Phoenix BIOS.

Award

Award BIOS es un producto BIOS desarrollado por Award Software Company. Actualmente es el producto más utilizado en placas base. El BIOS adicional es completamente funcional y admite muchos hardware nuevos. La mayoría de placas base del mercado utilizan actualmente esta BIOS.

Información avanzada del material (Advanced Material Information)

AMI BIOS es el software del sistema BIOS de AMI Corporation (nombre completo: American Megatrends)

Incorporado), en A mediados de la década de 1980, la mayoría de los primeros 286 y 386 usaban AMI.

El BIOS tiene buena adaptabilidad a diversos software y hardware, lo que puede garantizar la estabilidad del rendimiento del sistema. Después de la década de 1990, las computadoras ecológicas y que ahorraban energía comenzaron a popularizarse, pero AMI no logró lanzar nuevas versiones a tiempo para adaptarse al mercado.

El premio BIOS representa la mayor parte del mundo. Por supuesto, el ami actual también funciona muy bien y la nueva versión sigue siendo muy potente.

Phoenix

Phoenix BIOS es un producto de Phoenix Company. En la mitología egipcia, significa fénix o pájaro inmortal, lo que significa cosa perfecta. Phoenix BIOS se utiliza principalmente en máquinas y portátiles originales 586 de alta gama. La pantalla es simple y fácil de operar.

Insyde

Insyde bios es un producto de un fabricante de software en la provincia de Taiwán. Es un nuevo tipo de BIOS y lo utilizan algunas computadoras portátiles basadas en chips Intel, como Shenzhou. , Lenovo, etc.

Tomamos el gigabyte GIGA EP43-UD3L como ejemplo y realizamos la operación real una vez. La tarjeta gráfica es NVIDIA GeForce 9800 GTX 512 MB y la tarjeta de sonido es ALC888.

Establece ruta de entrada/salida, tipo de BIOS, advertencia de parada y configuración general.

Configuración detallada del parche

Luego presione Patch Bios. Después de ejecutarlo, puede ver que la compilación fue exitosa. Puede ver que hay 0 errores, 0 advertencias, 0 comentarios, 660. durante el proceso de compilación.

Esto

Puedes ver dsdt.aml en el directorio de salida.

Además, se generará un archivo de BIOS de parche que termina en nuevo debajo del archivo de BIOS, como

Ep43ud3l.f4.new. Si se confirma que se puede utilizar dsdt.aml, entonces este BIOS también se puede utilizar. utilizarse. Puedes actualizar la BIOS tú mismo si es necesario, pero actualizar la computadora también es genial.

Riesgo, tenga cuidado.

El uso de dsdt.aml es muy sencillo. Primero asegúrese de haber instalado un arranque que admita dsdt, como PC-EFIV9, Chameleon1.0.12 o Chameleon 2.

RC1, recomiendo el último Chameleon 2.

RC1 y luego coloque dsdt.aml en el directorio raíz del disco del sistema o en la carpeta Extra. Si se inicia la partición efi, simplemente colóquela en una carpeta adicional de la partición efi.

Este es el final de esta conferencia. El archivo doc de texto completo y el parche acpi se pueden descargar en el archivo adjunto.

Como pequeña actualización, si no puedes usar acpi patcher para obtener DSDT, como algunas placas base de ASUS y MSI, puedes ejecutarlo en una terminal bajo Linux.

cat/proc/acpi/dsdt & gt; dsdt.aml

Consíguelo y luego usa acpi patcher para descompilarlo y obtener dsdt.dsl, que se puede modificar.

Si tiene acceso a una Mac, también puede utilizar el script getdsdt en el archivo adjunto para obtener dsdt.dat y cambiarle el nombre a dsdt.aml