|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] VT-d: section adjustments to DMAR parsing
# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxxxx>
# Date 1299687760 0
# Node ID 58f883dfa7e79ac6b323d1f9919d7e89b0a33547
# Parent 4f8f51c8bc9d497751a91b4b160024e1712ba6b5
VT-d: section adjustments to DMAR parsing code
Move whatever possible into .init.*, and some data items into
.data.read_mostly.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
diff -r 4f8f51c8bc9d -r 58f883dfa7e7 xen/drivers/passthrough/vtd/dmar.c
--- a/xen/drivers/passthrough/vtd/dmar.c Wed Mar 09 16:22:16 2011 +0000
+++ b/xen/drivers/passthrough/vtd/dmar.c Wed Mar 09 16:22:40 2011 +0000
@@ -41,13 +41,12 @@
#define MIN_SCOPE_LEN (sizeof(struct acpi_pci_path) + \
sizeof(struct acpi_dev_scope))
-LIST_HEAD(acpi_drhd_units);
-LIST_HEAD(acpi_rmrr_units);
-LIST_HEAD(acpi_atsr_units);
-LIST_HEAD(acpi_rhsa_units);
+LIST_HEAD_READ_MOSTLY(acpi_drhd_units);
+LIST_HEAD_READ_MOSTLY(acpi_rmrr_units);
+static LIST_HEAD_READ_MOSTLY(acpi_atsr_units);
+static LIST_HEAD_READ_MOSTLY(acpi_rhsa_units);
-static u64 igd_drhd_address;
-u8 dmar_host_address_width;
+static u64 __read_mostly igd_drhd_address;
void dmar_scope_add_buses(struct dmar_scope *scope, u16 sec_bus, u16 sub_bus)
{
@@ -679,6 +678,7 @@
{
struct acpi_table_dmar *dmar;
struct acpi_dmar_entry_header *entry_header;
+ u8 dmar_host_address_width;
int ret = 0;
dmar = (struct acpi_table_dmar *)table;
diff -r 4f8f51c8bc9d -r 58f883dfa7e7 xen/drivers/passthrough/vtd/dmar.h
--- a/xen/drivers/passthrough/vtd/dmar.h Wed Mar 09 16:22:16 2011 +0000
+++ b/xen/drivers/passthrough/vtd/dmar.h Wed Mar 09 16:22:40 2011 +0000
@@ -24,8 +24,6 @@
#include <xen/list.h>
#include <xen/iommu.h>
-extern u8 dmar_host_address_width;
-
/* This one is for interrupt remapping */
struct acpi_ioapic_unit {
struct list_head list;
diff -r 4f8f51c8bc9d -r 58f883dfa7e7 xen/include/xen/list.h
--- a/xen/include/xen/list.h Wed Mar 09 16:22:16 2011 +0000
+++ b/xen/include/xen/list.h Wed Mar 09 16:22:40 2011 +0000
@@ -36,6 +36,9 @@
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
+#define LIST_HEAD_READ_MOSTLY(name) \
+ struct list_head __read_mostly name = LIST_HEAD_INIT(name)
+
static inline void INIT_LIST_HEAD(struct list_head *list)
{
list->next = list;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] VT-d: section adjustments to DMAR parsing code,
Xen patchbot-unstable <=
|
|
|
|
|