search for: acpi_table_header

Displaying 15 results from an estimated 15 matches for "acpi_table_header".

2012 Nov 05
2
[PATCH] x86/ACPI: invalidate BGRT
...verbatim copy from Linux 3.7-rc4) Signed-off-by: Jan Beulich <jbeulich@suse.com> --- a/xen/arch/x86/acpi/boot.c +++ b/xen/arch/x86/acpi/boot.c @@ -286,6 +286,25 @@ static int __init acpi_parse_hpet(struct #define acpi_parse_hpet NULL #endif +static int __init acpi_invalidate_bgrt(struct acpi_table_header *table) +{ + struct acpi_table_bgrt *bgrt_tbl = + container_of(table, struct acpi_table_bgrt, header); + + if (table->length < sizeof(*bgrt_tbl)) + return -1; + + if (!(bgrt_tbl->status & 1)) + return 0; + + printk(KERN_INFO PREFIX "BGRT: invalidating v%d image at %#"PRIx6...
2012 Nov 07
0
[PATCH v2] x86/ACPI: invalidate BGRT if necessary
...i.h> #include <xen/irq.h> +#include <xen/mm.h> #include <xen/dmi.h> #include <asm/fixmap.h> #include <asm/page.h> @@ -286,6 +287,27 @@ static int __init acpi_parse_hpet(struct #define acpi_parse_hpet NULL #endif +static int __init acpi_invalidate_bgrt(struct acpi_table_header *table) +{ + struct acpi_table_bgrt *bgrt_tbl = + container_of(table, struct acpi_table_bgrt, header); + + if (table->length < sizeof(*bgrt_tbl)) + return -1; + + if (bgrt_tbl->version == 1 && bgrt_tbl->image_address + && !page_is_ram_type(PFN_DOWN(bgrt_tbl->ima...
2019 Nov 22
0
[RFC 02/13] ACPI: Add VIOT definitions
...ivrs_memory { u64 memory_length; }; +/******************************************************************************* + * + * VIOT - Virtual I/O Table + * Version 1 + * + ******************************************************************************/ + +struct acpi_table_viot { + struct acpi_table_header header; + u8 reserved[12]; + struct acpi_table_header base_table; +}; + +#define ACPI_VIOT_IORT_NODE_VIRTIO_PCI_IOMMU 0x80 +#define ACPI_VIOT_IORT_NODE_VIRTIO_MMIO_IOMMU 0x81 + +struct acpi_viot_iort_virtio_pci_iommu { + u32 devid; +}; + +struct acpi_viot_iort_virtio_mmio_iommu { + u64 base_ad...
2011 Dec 12
0
[PATCH 1/4] ACPI: eliminate duplicate MADT parsing and unused SBF definitions
Use their proper counterparts in include/acpi/actbl*.h instead. Signed-off-by: Jan Beulich <jbeulich@suse.com> --- a/xen/arch/ia64/xen/dom_fw_common.c +++ b/xen/arch/ia64/xen/dom_fw_common.c @@ -347,7 +347,7 @@ struct fake_acpi_tables { struct acpi_table_header dsdt; uint8_t aml[8 + 11 * MAX_VIRT_CPUS]; struct acpi_table_madt madt; - struct acpi_table_lsapic lsapic[MAX_VIRT_CPUS]; + struct acpi_madt_local_sapic lsapic[MAX_VIRT_CPUS]; uint8_t pm1a_event_block[4]; uint8_t pm1a_control_block[1]; uint8_t pm_timer_block[4]; @@ -365,7 +365,7 @@ dom_fw...
2019 Nov 22
0
[RFC 11/13] ACPI: Add VIOT table
...const char * const table_sigs[] = { ACPI_SIG_WDDT, ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_PSDT, ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, ACPI_SIG_IORT, ACPI_SIG_NFIT, ACPI_SIG_HMAT, ACPI_SIG_PPTT, - NULL }; + ACPI_SIG_VIOT, NULL }; #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header) diff --git a/drivers/acpi/viot.c b/drivers/acpi/viot.c new file mode 100644 index 000000000000..ab9a6e43ad9b --- /dev/null +++ b/drivers/acpi/viot.c @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2019 Linaro + * + * Virtual IOMMU table + */ +#define pr_fmt(fmt)...
2019 Nov 22
16
[RFC 00/13] virtio-iommu on non-devicetree platforms
I'm seeking feedback on multi-platform support for virtio-iommu. At the moment only devicetree (DT) is supported and we don't have a pleasant solution for other platforms. Once we figure out the topology description, x86 support is trivial. Since the IOMMU manages memory accesses from other devices, the guest kernel needs to initialize the IOMMU before endpoints start issuing DMA.
2019 Nov 22
16
[RFC 00/13] virtio-iommu on non-devicetree platforms
I'm seeking feedback on multi-platform support for virtio-iommu. At the moment only devicetree (DT) is supported and we don't have a pleasant solution for other platforms. Once we figure out the topology description, x86 support is trivial. Since the IOMMU manages memory accesses from other devices, the guest kernel needs to initialize the IOMMU before endpoints start issuing DMA.
2008 Feb 28
1
[amd iommu] [patch 1/2]Add APCI table support for AMD IOMMU
Signed-off-by: Wei Wang <wei.wang2@amd.com> -- AMD Saxony, Dresden, Germany Operating System Research Center Legal Information: AMD Saxony Limited Liability Company & Co. KG Sitz (Geschäftsanschrift): Wilschdorfer Landstr. 101, 01109 Dresden, Deutschland Registergericht Dresden: HRA 4896 vertretungsberechtigter Komplementär: AMD Saxony LLC (Sitz Wilmington, Delaware, USA)
2019 Nov 22
0
[RFC 08/13] ACPI/IORT: Add callback to update a device's fwnode
...ddr, u64 *size); const struct iommu_ops *iort_iommu_configure(struct device *dev); int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head); +void iort_iommu_update_fwnode(struct device *dev, struct fwnode_handle *fwnode); #else static void acpi_iort_register_table(struct acpi_table_header *table, enum iort_table_source source) @@ -63,6 +64,9 @@ static inline const struct iommu_ops *iort_iommu_configure( static inline int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head) { return 0; } +static void iort_iommu_update_fwnode(struct device *dev, +...
2019 Nov 22
0
[RFC 06/13] ACPI/IORT: Support VIOT virtio-pci node
...iort_delete_fwnode(iort_node); - acpi_free_fwnode_static(fwnode); - return; - } - } + if (iort_init_node(iort_node)) + return; iort_node = ACPI_ADD_PTR(struct acpi_iort_node, iort_node, iort_node->length); @@ -1703,7 +1772,7 @@ void __init acpi_iort_register_table(struct acpi_table_header *table, iort_table = table; iort_table_source = source; - iort_init_platform_devices(); + iort_init_devices(); } void __init acpi_iort_init(void) -- 2.24.0
2010 Aug 20
0
[PATCH 1/2] Implement APEI ERST feature to Xen
...rn -EINVAL; + + return 0; +} + +int erst_init(void) +{ + int rc = 0; + acpi_status status; + struct apei_exec_context ctx; + + if (acpi_disabled) + return -ENODEV; + + status = acpi_get_table(ACPI_SIG_ERST, 0, + (struct acpi_table_header **)&erst_tab); + if (status == AE_NOT_FOUND) { + printk(KERN_ERR "Table is not found!\n"); + return -ENODEV; + } else if (ACPI_FAILURE(status)) { + const char *msg = acpi_format_exception(status); + printk(KERN_ERR &q...
2008 Dec 25
0
[PATCH 2/4] dom0 linux: Add "guestdev=" boot parameter.
...-#define COMMAND_LINE_SIZE 256 +#define COMMAND_LINE_SIZE 1024 #endif diff -r 4769a6db78f5 -r fcefb8852878 include/linux/acpi.h --- a/include/linux/acpi.h Thu Dec 25 10:37:52 2008 +0900 +++ b/include/linux/acpi.h Thu Dec 25 10:43:34 2008 +0900 @@ -406,6 +406,7 @@ void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); void acpi_table_print_madt_entry (acpi_table_entry_header *madt); void acpi_table_print_srat_entry (acpi_table_entry_header *srat); +int acpi_pci_get_root_seg_bbn(char *hid, char *uid, int *seg, int *bbn); /* the following four functions are architecture-depe...
2011 Jun 02
0
[PATCH] pci: Use pr_<level> and pr_fmt
...a/drivers/pci/hotplug/sgi_hotplug.c b/drivers/pci/hotplug/sgi_hotplug.c index 72d507b..9d322ff 100644 --- a/drivers/pci/hotplug/sgi_hotplug.c +++ b/drivers/pci/hotplug/sgi_hotplug.c @@ -362,7 +362,7 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot) ret = acpi_load_table((struct acpi_table_header *)ssdt); if (ACPI_FAILURE(ret)) { - printk(KERN_ERR "%s: acpi_load_table failed (0x%x)\n", + pr_err("%s: acpi_load_table failed (0x%x)\n", __func__, ret); /* try to continue on */ } @@ -453,9 +453,8 @@ static int enable_slot(struct hotplug_slot *bss_hotp...
2011 Jun 02
0
[PATCH] pci: Use pr_<level> and pr_fmt
...a/drivers/pci/hotplug/sgi_hotplug.c b/drivers/pci/hotplug/sgi_hotplug.c index 72d507b..9d322ff 100644 --- a/drivers/pci/hotplug/sgi_hotplug.c +++ b/drivers/pci/hotplug/sgi_hotplug.c @@ -362,7 +362,7 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot) ret = acpi_load_table((struct acpi_table_header *)ssdt); if (ACPI_FAILURE(ret)) { - printk(KERN_ERR "%s: acpi_load_table failed (0x%x)\n", + pr_err("%s: acpi_load_table failed (0x%x)\n", __func__, ret); /* try to continue on */ } @@ -453,9 +453,8 @@ static int enable_slot(struct hotplug_slot *bss_hotp...
2011 Jun 02
0
[PATCH] pci: Use pr_<level> and pr_fmt
...a/drivers/pci/hotplug/sgi_hotplug.c b/drivers/pci/hotplug/sgi_hotplug.c index 72d507b..9d322ff 100644 --- a/drivers/pci/hotplug/sgi_hotplug.c +++ b/drivers/pci/hotplug/sgi_hotplug.c @@ -362,7 +362,7 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot) ret = acpi_load_table((struct acpi_table_header *)ssdt); if (ACPI_FAILURE(ret)) { - printk(KERN_ERR "%s: acpi_load_table failed (0x%x)\n", + pr_err("%s: acpi_load_table failed (0x%x)\n", __func__, ret); /* try to continue on */ } @@ -453,9 +453,8 @@ static int enable_slot(struct hotplug_slot *bss_hotp...