qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 21/52] pc: acpi-build: drop template patching


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v3 21/52] pc: acpi-build: drop template patching and create PCI bus tree dynamically
Date: Tue, 17 Feb 2015 20:39:03 +0100

On Mon, Feb 09, 2015 at 10:53:43AM +0000, Igor Mammedov wrote:
> Replace AML template patching with direct composing
> of PCI device entries in C. It allows to simplify
> PCI tree generation further and saves us about 400LOC
> scattered through different files, confining tree
> generation to one C function which is much easier
> to deal with.
> 
> Signed-off-by: Igor Mammedov <address@hidden>

Some comments below, this looks nice.

However, something strange is going on.
This looks like it should produce identical
code to what was there, but in fact your previous
patch pc: acpi-build: simplify PCI bus tree generation
changes SSDT, then this patch changes it back to
what it was.

I'm confused by this.  Can't refactoring be done without changing the
output back and forth, somehow?

> ---
>  hw/i386/Makefile.objs            |   6 +-
>  hw/i386/acpi-build.c             | 207 +++++++++++---------------------
>  hw/i386/ssdt-pcihp.dsl           | 100 ----------------
>  hw/i386/ssdt-pcihp.hex.generated | 251 
> ---------------------------------------
>  4 files changed, 72 insertions(+), 492 deletions(-)
>  delete mode 100644 hw/i386/ssdt-pcihp.dsl
>  delete mode 100644 hw/i386/ssdt-pcihp.hex.generated
> 
> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> index 2b678ef..4509cd1 100644
> --- a/hw/i386/Makefile.objs
> +++ b/hw/i386/Makefile.objs
> @@ -8,10 +8,8 @@ obj-$(CONFIG_XEN) += ../xenpv/ xen/
>  obj-y += kvmvapic.o
>  obj-y += acpi-build.o
>  hw/i386/acpi-build.o: hw/i386/acpi-build.c hw/i386/acpi-dsdt.hex \
> -     hw/i386/ssdt-proc.hex hw/i386/ssdt-pcihp.hex hw/i386/ssdt-misc.hex \
> -     hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex \
> -     hw/i386/q35-acpi-dsdt.hex hw/i386/ssdt-mem.hex \
> -     hw/i386/ssdt-tpm.hex
> +     hw/i386/ssdt-proc.hex hw/i386/ssdt-misc.hex hw/i386/q35-acpi-dsdt.hex \
> +     hw/i386/ssdt-mem.hex hw/i386/ssdt-tpm.hex
>  
>  iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
>      ; then echo "$(2)"; else echo "$(3)"; fi ;)
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index bdc343f..b6626f5 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -525,29 +525,6 @@ static inline char acpi_get_hex(uint32_t val)
>  #define ACPI_PROC_SIZEOF (*ssdt_proc_end - *ssdt_proc_start)
>  #define ACPI_PROC_AML (ssdp_proc_aml + *ssdt_proc_start)
>  
> -/* 0x5B 0x82 DeviceOp PkgLength NameString */
> -#define ACPI_PCIHP_OFFSET_HEX (*ssdt_pcihp_name - *ssdt_pcihp_start + 1)
> -#define ACPI_PCIHP_OFFSET_ID (*ssdt_pcihp_id - *ssdt_pcihp_start)
> -#define ACPI_PCIHP_OFFSET_ADR (*ssdt_pcihp_adr - *ssdt_pcihp_start)
> -#define ACPI_PCIHP_OFFSET_EJ0 (*ssdt_pcihp_ej0 - *ssdt_pcihp_start)
> -#define ACPI_PCIHP_SIZEOF (*ssdt_pcihp_end - *ssdt_pcihp_start)
> -#define ACPI_PCIHP_AML (ssdp_pcihp_aml + *ssdt_pcihp_start)
> -
> -#define ACPI_PCINOHP_OFFSET_HEX (*ssdt_pcinohp_name - *ssdt_pcinohp_start + 
> 1)
> -#define ACPI_PCINOHP_OFFSET_ADR (*ssdt_pcinohp_adr - *ssdt_pcinohp_start)
> -#define ACPI_PCINOHP_SIZEOF (*ssdt_pcinohp_end - *ssdt_pcinohp_start)
> -#define ACPI_PCINOHP_AML (ssdp_pcihp_aml + *ssdt_pcinohp_start)
> -
> -#define ACPI_PCIVGA_OFFSET_HEX (*ssdt_pcivga_name - *ssdt_pcivga_start + 1)
> -#define ACPI_PCIVGA_OFFSET_ADR (*ssdt_pcivga_adr - *ssdt_pcivga_start)
> -#define ACPI_PCIVGA_SIZEOF (*ssdt_pcivga_end - *ssdt_pcivga_start)
> -#define ACPI_PCIVGA_AML (ssdp_pcihp_aml + *ssdt_pcivga_start)
> -
> -#define ACPI_PCIQXL_OFFSET_HEX (*ssdt_pciqxl_name - *ssdt_pciqxl_start + 1)
> -#define ACPI_PCIQXL_OFFSET_ADR (*ssdt_pciqxl_adr - *ssdt_pciqxl_start)
> -#define ACPI_PCIQXL_SIZEOF (*ssdt_pciqxl_end - *ssdt_pciqxl_start)
> -#define ACPI_PCIQXL_AML (ssdp_pcihp_aml + *ssdt_pciqxl_start)
> -
>  #include "hw/i386/ssdt-mem.hex"
>  
>  /* 0x5B 0x82 DeviceOp PkgLength NameString DimmID */
> @@ -560,7 +537,6 @@ static inline char acpi_get_hex(uint32_t val)
>  #define ACPI_SSDT_HEADER_LENGTH 36
>  
>  #include "hw/i386/ssdt-misc.hex"
> -#include "hw/i386/ssdt-pcihp.hex"
>  #include "hw/i386/ssdt-tpm.hex"
>  
>  static void
> @@ -581,43 +557,6 @@ build_append_notify_method(GArray *device, const char 
> *name,
>      build_append_and_cleanup_method(device, method);
>  }
>  
> -static void patch_pcihp(int slot, uint8_t *ssdt_ptr)
> -{
> -    unsigned devfn = PCI_DEVFN(slot, 0);
> -
> -    ssdt_ptr[ACPI_PCIHP_OFFSET_HEX] = acpi_get_hex(devfn >> 4);
> -    ssdt_ptr[ACPI_PCIHP_OFFSET_HEX + 1] = acpi_get_hex(devfn);
> -    ssdt_ptr[ACPI_PCIHP_OFFSET_ID] = slot;
> -    ssdt_ptr[ACPI_PCIHP_OFFSET_ADR + 2] = slot;
> -}
> -
> -static void patch_pcinohp(int slot, uint8_t *ssdt_ptr)
> -{
> -    unsigned devfn = PCI_DEVFN(slot, 0);
> -
> -    ssdt_ptr[ACPI_PCINOHP_OFFSET_HEX] = acpi_get_hex(devfn >> 4);
> -    ssdt_ptr[ACPI_PCINOHP_OFFSET_HEX + 1] = acpi_get_hex(devfn);
> -    ssdt_ptr[ACPI_PCINOHP_OFFSET_ADR + 2] = slot;
> -}
> -
> -static void patch_pcivga(int slot, uint8_t *ssdt_ptr)
> -{
> -    unsigned devfn = PCI_DEVFN(slot, 0);
> -
> -    ssdt_ptr[ACPI_PCIVGA_OFFSET_HEX] = acpi_get_hex(devfn >> 4);
> -    ssdt_ptr[ACPI_PCIVGA_OFFSET_HEX + 1] = acpi_get_hex(devfn);
> -    ssdt_ptr[ACPI_PCIVGA_OFFSET_ADR + 2] = slot;
> -}
> -
> -static void patch_pciqxl(int slot, uint8_t *ssdt_ptr)
> -{
> -    unsigned devfn = PCI_DEVFN(slot, 0);
> -
> -    ssdt_ptr[ACPI_PCIQXL_OFFSET_HEX] = acpi_get_hex(devfn >> 4);
> -    ssdt_ptr[ACPI_PCIQXL_OFFSET_HEX + 1] = acpi_get_hex(devfn);
> -    ssdt_ptr[ACPI_PCIQXL_OFFSET_ADR + 2] = slot;
> -}
> -
>  /* Assign BSEL property to all buses.  In the future, this can be changed
>   * to only assign to buses that support hotplug.
>   */
> @@ -648,46 +587,30 @@ static void acpi_set_pci_info(void)
>      }
>  }
>  
> -static void build_append_pcihp_notify_entry(GArray *method, int slot)
> +static void build_append_pcihp_notify_entry(Aml *method, int slot)
>  {
> -    GArray *ifctx;
> +    Aml *if_ctx;
> +    int32_t devfn = PCI_DEVFN(slot, 0);
>  
> -    ifctx = build_alloc_array();
> -    build_append_byte(ifctx, 0x7B); /* AndOp */
> -    build_append_byte(ifctx, 0x68); /* Arg0Op */
> -    build_append_int(ifctx, 0x1U << slot);
> -    build_append_byte(ifctx, 0x00); /* NullName */
> -    build_append_byte(ifctx, 0x86); /* NotifyOp */
> -    build_append_namestring(ifctx, "S%.02X", PCI_DEVFN(slot, 0));
> -    build_append_byte(ifctx, 0x69); /* Arg1Op */
> -
> -    /* Pack it up */
> -    build_package(ifctx, 0xA0 /* IfOp */);
> -    build_append_array(method, ifctx);
> -    build_free_array(ifctx);
> +    if_ctx = aml_if(aml_and(aml_arg(0), aml_int(0x1U << slot)));
> +    aml_append(if_ctx, aml_notify(aml_name("S%.02X", devfn), aml_arg(1)));
> +    aml_append(method, if_ctx);
>  }
>  
> -static void build_append_pci_bus_devices(GArray *parent_scope, PCIBus *bus,
> +static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus,
>                                           bool pcihp_bridge_en)
>  {
> -    GArray *bus_table = build_alloc_array();
> -    GArray *method = NULL;
> +    Aml *dev, *notify_method, *method;
>      QObject *bsel;
>      PCIBus *sec;
>      int i;
>  
> -    if (bus->parent_dev) {
> -        build_append_namestring(bus_table, "S%.02X_", 
> bus->parent_dev->devfn);
> -    } else {
> -        build_append_namestring(bus_table, "PCI0");
> -    }
> -
>      bsel = object_property_get_qobject(OBJECT(bus), ACPI_PCIHP_PROP_BSEL, 
> NULL);
>      if (bsel) {
> -        build_append_byte(bus_table, 0x08); /* NameOp */
> -        build_append_namestring(bus_table, "BSEL");
> -        build_append_int(bus_table, qint_get_int(qobject_to_qint(bsel)));
> -        method = build_alloc_method("DVNT", 2);
> +        int64_t bsel_val = qint_get_int(qobject_to_qint(bsel));
> +
> +        aml_append(parent_scope, aml_name_decl("BSEL", aml_int(bsel_val)));
> +        notify_method = aml_method("DVNT", 2);
>      }
>  
>      for (i = 0; i < ARRAY_SIZE(bus->devices); i += PCI_FUNC_MAX) {
> @@ -699,15 +622,21 @@ static void build_append_pci_bus_devices(GArray 
> *parent_scope, PCIBus *bus,
>  
>          if (!pdev) {
>              if (bsel) {
> -                void *pcihp = acpi_data_push(bus_table, ACPI_PCIHP_SIZEOF);
> -                memcpy(pcihp, ACPI_PCIHP_AML, ACPI_PCIHP_SIZEOF);
> -                patch_pcihp(slot, pcihp);
> -
> -                build_append_pcihp_notify_entry(method, slot);
> +                dev = aml_device("S%.02X", PCI_DEVFN(slot, 0));
> +                aml_append(dev, aml_name_decl("_SUN", aml_int(slot)));
> +                aml_append(dev, aml_name_decl("_ADR", aml_int(slot << 16)));
> +                method = aml_method("_EJ0", 1);
> +                aml_append(method,
> +                    aml_call2("PCEJ", aml_name("BSEL"), aml_name("_SUN"))
> +                );
> +                aml_append(dev, method);
> +                aml_append(parent_scope, dev);
> +
> +                build_append_pcihp_notify_entry(notify_method, slot);
>              } else {
> -                void *pcihp = acpi_data_push(bus_table, ACPI_PCINOHP_SIZEOF);
> -                memcpy(pcihp, ACPI_PCINOHP_AML, ACPI_PCINOHP_SIZEOF);
> -                patch_pcinohp(slot, pcihp);
> +                dev = aml_device("S%.02X", PCI_DEVFN(slot, 0));
> +                aml_append(dev, aml_name_decl("_ADR", aml_int(slot << 16)));
> +                aml_append(parent_scope, dev);
>              }
>              continue;
>          }
> @@ -723,32 +652,40 @@ static void build_append_pci_bus_devices(GArray 
> *parent_scope, PCIBus *bus,
>          bridge_in_acpi = pc->is_bridge && pcihp_bridge_en &&
>              !DEVICE(pdev)->hotplugged;
>  
> +        dev = aml_device("S%.02X", PCI_DEVFN(slot, 0));
> +        aml_append(dev, aml_name_decl("_ADR", aml_int(slot << 16)));
> +
>          if (pc->class_id == PCI_CLASS_DISPLAY_VGA) {
> +            int s3d = 0;
>  
>              if (object_dynamic_cast(OBJECT(pdev), "qxl-vga")) {
> -                void *pcihp = acpi_data_push(bus_table,
> -                                             ACPI_PCIQXL_SIZEOF);
> -                      memcpy(pcihp, ACPI_PCIQXL_AML, ACPI_PCIQXL_SIZEOF);
> -                      patch_pciqxl(slot, pcihp);
> -            } else {
> -                void *pcihp = acpi_data_push(bus_table,
> -                                             ACPI_PCIVGA_SIZEOF);
> -                memcpy(pcihp, ACPI_PCIVGA_AML, ACPI_PCIVGA_SIZEOF);
> -                patch_pcivga(slot, pcihp);
> +                s3d = 3;
>              }

I dislike this style, where 0 is set, then over-written.
Please do
    if (cond) {
        s = 3;
    } else {
        s = 0;
    }



> +
> +            method = aml_method("_S1D", 0);
> +            aml_append(method, aml_return(aml_int(0)));
> +            aml_append(dev, method);
> +
> +            method = aml_method("_S2D", 0);
> +            aml_append(method, aml_return(aml_int(0)));
> +            aml_append(dev, method);
> +
> +            method = aml_method("_S3D", 0);
> +            aml_append(method, aml_return(aml_int(s3d)));
> +            aml_append(dev, method);
>          } else if (dc->hotpluggable && !bridge_in_acpi) {
> -            void *pcihp = acpi_data_push(bus_table, ACPI_PCIHP_SIZEOF);
> -            memcpy(pcihp, ACPI_PCIHP_AML, ACPI_PCIHP_SIZEOF);
> -            patch_pcihp(slot, pcihp);
> +            aml_append(dev, aml_name_decl("_SUN", aml_int(slot)));
> +
> +            method = aml_method("_EJ0", 1);
> +            aml_append(method,
> +                aml_call2("PCEJ", aml_name("BSEL"), aml_name("_SUN"))
> +            );
> +            aml_append(dev, method);
>  
>              if (bsel) {
> -                build_append_pcihp_notify_entry(method, slot);
> +                build_append_pcihp_notify_entry(notify_method, slot);
>              }
>          } else {
> -            void *pcihp = acpi_data_push(bus_table, ACPI_PCINOHP_SIZEOF);
> -            memcpy(pcihp, ACPI_PCINOHP_AML, ACPI_PCINOHP_SIZEOF);
> -            patch_pcinohp(slot, pcihp);
> -
>              /* When hotplug for bridges is enabled, bridges that are
>               * described in ACPI separately aren't themselves hot-pluggable.
>               * Hotplugged bridges *are* hot-pluggable.
> @@ -756,47 +693,42 @@ static void build_append_pci_bus_devices(GArray 
> *parent_scope, PCIBus *bus,
>              if (bridge_in_acpi) {
>                  PCIBus *sec_bus = pci_bridge_get_sec_bus(PCI_BRIDGE(pdev));
>  
> -                build_append_pci_bus_devices(bus_table, sec_bus,
> -                                             pcihp_bridge_en);
> +                build_append_pci_bus_devices(dev, sec_bus, pcihp_bridge_en);
>              }
>          }
> +        aml_append(parent_scope, dev);
>      }
>  
>      if (bsel) {
> -        build_append_and_cleanup_method(bus_table, method);
> +        aml_append(parent_scope, notify_method);
>      }
>  
>      /* Append PCNT method to notify about events on local and child buses.
>       * Add unconditionally for root since DSDT expects it.
>       */
> -    method = build_alloc_method("PCNT", 0);
> +    method = aml_method("PCNT", 0);
>  
>      /* If bus supports hotplug select it and notify about local events */
>      if (bsel) {
> -        build_append_byte(method, 0x70); /* StoreOp */
> -        build_append_int(method, qint_get_int(qobject_to_qint(bsel)));
> -        build_append_namestring(method, "BNUM");
> -        build_append_namestring(method, "DVNT");
> -        build_append_namestring(method, "PCIU");
> -        build_append_int(method, 1); /* Device Check */
> -        build_append_namestring(method, "DVNT");
> -        build_append_namestring(method, "PCID");
> -        build_append_int(method, 3); /* Eject Request */
> +        int64_t bsel_val = qint_get_int(qobject_to_qint(bsel));
> +        aml_append(method, aml_store(aml_int(bsel_val), aml_name("BNUM")));
> +        aml_append(method,
> +            aml_call2("DVNT", aml_name("PCIU"), aml_int(1) /* Device Check 
> */)
> +        );
> +        aml_append(method,
> +            aml_call2("DVNT", aml_name("PCID"), aml_int(3)/* Eject Request 
> */)
> +        );
>      }
>  
>      /* Notify about child bus events in any case */
>      if (pcihp_bridge_en) {
>          QLIST_FOREACH(sec, &bus->child, sibling) {
> -            build_append_namestring(method, "^S%.02X.PCNT",
> -                                    sec->parent_dev->devfn);
> +            int32_t devfn = sec->parent_dev->devfn;
> +
> +            aml_append(method, aml_name("^S%.02X.PCNT", devfn));
>          }
>      }
> -
> -    build_append_and_cleanup_method(bus_table, method);
> -
> -    build_package(bus_table, 0x10); /* ScopeOp */
> -    build_append_array(parent_scope, bus_table);
> -    build_free_array(bus_table);
> +    aml_append(parent_scope, method);
>  }
>  
>  static void patch_pci_windows(PcPciInfo *pci, uint8_t *start, unsigned size)
> @@ -943,9 +875,10 @@ build_ssdt(Aml *table_data,
>              }
>  
>              if (bus) {
> +                Aml *scope = aml_scope("PCI0");
>                  /* Scan all PCI buses. Generate tables to support hotplug. */
> -                build_append_pci_bus_devices(sb_scope->buf, bus,
> -                                             pm->pcihp_bridge_en);
> +                build_append_pci_bus_devices(scope, bus, 
> pm->pcihp_bridge_en);
> +                aml_append(sb_scope, scope);
>              }
>          }
>          aml_append(ssdt, sb_scope);
> diff --git a/hw/i386/ssdt-pcihp.dsl b/hw/i386/ssdt-pcihp.dsl
> deleted file mode 100644
> index ac91c05..0000000
> --- a/hw/i386/ssdt-pcihp.dsl
> +++ /dev/null
> @@ -1,100 +0,0 @@
> -/*
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> -
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> -
> - * You should have received a copy of the GNU General Public License along
> - * with this program; if not, see <http://www.gnu.org/licenses/>.
> - */
> -
> -ACPI_EXTRACT_ALL_CODE ssdp_pcihp_aml
> -
> -DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
> -{
> -
> -/****************************************************************
> - * PCI hotplug
> - ****************************************************************/
> -
> -    /* Objects supplied by DSDT */
> -    External(\_SB.PCI0, DeviceObj)
> -    External(\_SB.PCI0.PCEJ, MethodObj)
> -    External(BSEL, IntObj)
> -
> -    Scope(\_SB.PCI0) {
> -
> -        /* Bulk generated PCI hotplug devices */
> -        ACPI_EXTRACT_DEVICE_START ssdt_pcihp_start
> -        ACPI_EXTRACT_DEVICE_END ssdt_pcihp_end
> -        ACPI_EXTRACT_DEVICE_STRING ssdt_pcihp_name
> -
> -        // Extract the offsets of the device name, address dword and the slot
> -        // name byte - we fill them in for each device.
> -        Device(SAA) {
> -            ACPI_EXTRACT_NAME_BYTE_CONST ssdt_pcihp_id
> -            Name(_SUN, 0xAA)
> -            ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcihp_adr
> -            Name(_ADR, 0xAA0000)
> -            Method(_EJ0, 1) {
> -                PCEJ(BSEL, _SUN)
> -            }
> -        }
> -
> -        ACPI_EXTRACT_DEVICE_START ssdt_pcinohp_start
> -        ACPI_EXTRACT_DEVICE_END ssdt_pcinohp_end
> -        ACPI_EXTRACT_DEVICE_STRING ssdt_pcinohp_name
> -
> -        // Extract the offsets of the device name, address dword and the slot
> -        // name byte - we fill them in for each device.
> -        Device(SBB) {
> -            ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcinohp_adr
> -            Name(_ADR, 0xAA0000)
> -        }
> -
> -        ACPI_EXTRACT_DEVICE_START ssdt_pcivga_start
> -        ACPI_EXTRACT_DEVICE_END ssdt_pcivga_end
> -        ACPI_EXTRACT_DEVICE_STRING ssdt_pcivga_name
> -
> -        // Extract the offsets of the device name, address dword and the slot
> -        // name byte - we fill them in for each device.
> -        Device(SCC) {
> -            ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcivga_adr
> -            Name(_ADR, 0xAA0000)
> -            Method(_S1D, 0, NotSerialized) {
> -                Return (0x00)
> -            }
> -            Method(_S2D, 0, NotSerialized) {
> -                Return (0x00)
> -            }
> -            Method(_S3D, 0, NotSerialized) {
> -                Return (0x00)
> -            }
> -        }
> -
> -        ACPI_EXTRACT_DEVICE_START ssdt_pciqxl_start
> -        ACPI_EXTRACT_DEVICE_END ssdt_pciqxl_end
> -        ACPI_EXTRACT_DEVICE_STRING ssdt_pciqxl_name
> -
> -        // Extract the offsets of the device name, address dword and the slot
> -        // name byte - we fill them in for each device.
> -        Device(SDD) {
> -            ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pciqxl_adr
> -            Name(_ADR, 0xAA0000)
> -            Method(_S1D, 0, NotSerialized) {
> -                Return (0x00)
> -            }
> -            Method(_S2D, 0, NotSerialized) {
> -                Return (0x00)
> -            }
> -            Method(_S3D, 0, NotSerialized) {
> -                Return (0x03)           // QXL
> -            }
> -        }
> -    }
> -}
> diff --git a/hw/i386/ssdt-pcihp.hex.generated 
> b/hw/i386/ssdt-pcihp.hex.generated
> deleted file mode 100644
> index 72ffa84..0000000
> --- a/hw/i386/ssdt-pcihp.hex.generated

Pls don't send generated file patches.
Just note it should be removed in comment, I'll do it.

> +++ /dev/null
> @@ -1,251 +0,0 @@
> -static unsigned char ssdt_pcihp_name[] = {
> -0x34
> -};
> -static unsigned char ssdt_pcivga_end[] = {
> -0x99
> -};
> -static unsigned char ssdt_pcivga_name[] = {
> -0x70
> -};
> -static unsigned char ssdt_pcihp_adr[] = {
> -0x45
> -};
> -static unsigned char ssdt_pcinohp_end[] = {
> -0x6d
> -};
> -static unsigned char ssdt_pcihp_end[] = {
> -0x5c
> -};
> -static unsigned char ssdt_pciqxl_start[] = {
> -0x99
> -};
> -static unsigned char ssdt_pcinohp_name[] = {
> -0x5f
> -};
> -static unsigned char ssdp_pcihp_aml[] = {
> -0x53,
> -0x53,
> -0x44,
> -0x54,
> -0xc6,
> -0x0,
> -0x0,
> -0x0,
> -0x1,
> -0x70,
> -0x42,
> -0x58,
> -0x50,
> -0x43,
> -0x0,
> -0x0,
> -0x42,
> -0x58,
> -0x53,
> -0x53,
> -0x44,
> -0x54,
> -0x50,
> -0x43,
> -0x1,
> -0x0,
> -0x0,
> -0x0,
> -0x49,
> -0x4e,
> -0x54,
> -0x4c,
> -0x15,
> -0x11,
> -0x13,
> -0x20,
> -0x10,
> -0x41,
> -0xa,
> -0x5c,
> -0x2e,
> -0x5f,
> -0x53,
> -0x42,
> -0x5f,
> -0x50,
> -0x43,
> -0x49,
> -0x30,
> -0x5b,
> -0x82,
> -0x29,
> -0x53,
> -0x41,
> -0x41,
> -0x5f,
> -0x8,
> -0x5f,
> -0x53,
> -0x55,
> -0x4e,
> -0xa,
> -0xaa,
> -0x8,
> -0x5f,
> -0x41,
> -0x44,
> -0x52,
> -0xc,
> -0x0,
> -0x0,
> -0xaa,
> -0x0,
> -0x14,
> -0x12,
> -0x5f,
> -0x45,
> -0x4a,
> -0x30,
> -0x1,
> -0x50,
> -0x43,
> -0x45,
> -0x4a,
> -0x42,
> -0x53,
> -0x45,
> -0x4c,
> -0x5f,
> -0x53,
> -0x55,
> -0x4e,
> -0x5b,
> -0x82,
> -0xf,
> -0x53,
> -0x42,
> -0x42,
> -0x5f,
> -0x8,
> -0x5f,
> -0x41,
> -0x44,
> -0x52,
> -0xc,
> -0x0,
> -0x0,
> -0xaa,
> -0x0,
> -0x5b,
> -0x82,
> -0x2a,
> -0x53,
> -0x43,
> -0x43,
> -0x5f,
> -0x8,
> -0x5f,
> -0x41,
> -0x44,
> -0x52,
> -0xc,
> -0x0,
> -0x0,
> -0xaa,
> -0x0,
> -0x14,
> -0x8,
> -0x5f,
> -0x53,
> -0x31,
> -0x44,
> -0x0,
> -0xa4,
> -0x0,
> -0x14,
> -0x8,
> -0x5f,
> -0x53,
> -0x32,
> -0x44,
> -0x0,
> -0xa4,
> -0x0,
> -0x14,
> -0x8,
> -0x5f,
> -0x53,
> -0x33,
> -0x44,
> -0x0,
> -0xa4,
> -0x0,
> -0x5b,
> -0x82,
> -0x2b,
> -0x53,
> -0x44,
> -0x44,
> -0x5f,
> -0x8,
> -0x5f,
> -0x41,
> -0x44,
> -0x52,
> -0xc,
> -0x0,
> -0x0,
> -0xaa,
> -0x0,
> -0x14,
> -0x8,
> -0x5f,
> -0x53,
> -0x31,
> -0x44,
> -0x0,
> -0xa4,
> -0x0,
> -0x14,
> -0x8,
> -0x5f,
> -0x53,
> -0x32,
> -0x44,
> -0x0,
> -0xa4,
> -0x0,
> -0x14,
> -0x9,
> -0x5f,
> -0x53,
> -0x33,
> -0x44,
> -0x0,
> -0xa4,
> -0xa,
> -0x3
> -};
> -static unsigned char ssdt_pciqxl_adr[] = {
> -0xa6
> -};
> -static unsigned char ssdt_pcinohp_adr[] = {
> -0x69
> -};
> -static unsigned char ssdt_pcivga_adr[] = {
> -0x7a
> -};
> -static unsigned char ssdt_pciqxl_name[] = {
> -0x9c
> -};
> -static unsigned char ssdt_pcivga_start[] = {
> -0x6d
> -};
> -static unsigned char ssdt_pciqxl_end[] = {
> -0xc6
> -};
> -static unsigned char ssdt_pcihp_start[] = {
> -0x31
> -};
> -static unsigned char ssdt_pcihp_id[] = {
> -0x3e
> -};
> -static unsigned char ssdt_pcinohp_start[] = {
> -0x5c
> -};
> -- 
> 1.8.3.1



reply via email to

[Prev in Thread] Current Thread [Next in Thread]