[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-6f44d0337cc54a46e83b4c8a6195607e78fff71d@git.kernel.org>
Date: Sat, 28 Aug 2010 01:54:53 GMT
From: tip-bot for Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, hpa@...or.com, mingo@...hat.com,
konrad.wilk@...cle.com, sam@...nborg.org,
fujita.tomonori@....ntt.co.jp, tglx@...utronix.de
Subject: [tip:x86/iommu] x86, doc: Adding comments about .iommu_table and its neighbors.
Commit-ID: 6f44d0337cc54a46e83b4c8a6195607e78fff71d
Gitweb: http://git.kernel.org/tip/6f44d0337cc54a46e83b4c8a6195607e78fff71d
Author: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
AuthorDate: Fri, 27 Aug 2010 14:19:33 -0400
Committer: H. Peter Anvin <hpa@...or.com>
CommitDate: Fri, 27 Aug 2010 18:14:31 -0700
x86, doc: Adding comments about .iommu_table and its neighbors.
Updating the linker section with comments about .iommu_table and
some other ones that I know of.
CC: Sam Ravnborg <sam@...nborg.org>
CC: H. Peter Anvin <hpa@...or.com>
CC: Fujita Tomonori <fujita.tomonori@....ntt.co.jp>
CC: Thomas Gleixner <tglx@...utronix.de>
CC: Ingo Molnar <mingo@...hat.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
LKML-Reference: <1282933173-19960-1-git-send-email-konrad.wilk@...cle.com>
Signed-off-by: H. Peter Anvin <hpa@...or.com>
---
arch/x86/kernel/vmlinux.lds.S | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index b92e040..3f07c37 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -242,6 +242,12 @@ SECTIONS
__x86_cpu_dev_end = .;
}
+ /*
+ * start address and size of operations which during runtime
+ * can be patched with virtualization friendly instructions or
+ * baremetal native ones. Think page table operations.
+ * Details in paravirt_types.h
+ */
. = ALIGN(8);
.parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
__parainstructions = .;
@@ -249,6 +255,11 @@ SECTIONS
__parainstructions_end = .;
}
+ /*
+ * struct alt_inst entries. From the header (alternative.h):
+ * "Alternative instructions for different CPU types or capabilities"
+ * Think locking instructions on spinlocks.
+ */
. = ALIGN(8);
.altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
__alt_instructions = .;
@@ -256,10 +267,21 @@ SECTIONS
__alt_instructions_end = .;
}
+ /*
+ * And here are the replacement instructions. The linker sticks
+ * them as binary blobs. The .altinstructions has enough data to
+ * get the address and the length of them to patch the kernel safely.
+ */
.altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
*(.altinstr_replacement)
}
+ /*
+ * struct iommu_table_entry entries are injected in this section.
+ * It is an array of IOMMUs which during run time gets sorted depending
+ * on its dependency order. After rootfs_initcall is complete
+ * this section can be safely removed.
+ */
.iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) {
__iommu_table = .;
*(.iommu_table)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists