diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-02-03 15:11:10 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-02-18 14:54:14 -0500 |
commit | f6c540cdd65d4bc4eaf4dcbf652580f09f3b0c38 (patch) | |
tree | 0ebe77571df346c07fe62f6109ef5fcf5560c059 /arch/x86 | |
parent | b7ad149d62ffffaccb9f565dfe7e5bae739d6836 (diff) |
x86: fix lguest build failure
drivers/lguest/x86/switcher_32.S:(.text+0x3815f8):
undefined reference to `LGUEST_PAGES_regs_trapnum'
This problem was caused by asm-offsets.c only having the offsets when
lguest *guest* support was set, not lguest host (host support used to
imply guest support, so now they're separate these bugs come out).
Lguest guest support and host support are separate config options:
they used to be tied together. Sort out which parts of asm-offsets are
needed for Guest and Host.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/asm-offsets_32.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c index afd84463b712..a33d53017997 100644 --- a/arch/x86/kernel/asm-offsets_32.c +++ b/arch/x86/kernel/asm-offsets_32.c | |||
@@ -20,10 +20,8 @@ | |||
20 | 20 | ||
21 | #include <xen/interface/xen.h> | 21 | #include <xen/interface/xen.h> |
22 | 22 | ||
23 | #ifdef CONFIG_LGUEST_GUEST | ||
24 | #include <linux/lguest.h> | 23 | #include <linux/lguest.h> |
25 | #include "../../../drivers/lguest/lg.h" | 24 | #include "../../../drivers/lguest/lg.h" |
26 | #endif | ||
27 | 25 | ||
28 | #define DEFINE(sym, val) \ | 26 | #define DEFINE(sym, val) \ |
29 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 27 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |
@@ -134,6 +132,10 @@ void foo(void) | |||
134 | BLANK(); | 132 | BLANK(); |
135 | OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled); | 133 | OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled); |
136 | OFFSET(LGUEST_DATA_pgdir, lguest_data, pgdir); | 134 | OFFSET(LGUEST_DATA_pgdir, lguest_data, pgdir); |
135 | #endif | ||
136 | |||
137 | #ifdef CONFIG_LGUEST | ||
138 | BLANK(); | ||
137 | OFFSET(LGUEST_PAGES_host_gdt_desc, lguest_pages, state.host_gdt_desc); | 139 | OFFSET(LGUEST_PAGES_host_gdt_desc, lguest_pages, state.host_gdt_desc); |
138 | OFFSET(LGUEST_PAGES_host_idt_desc, lguest_pages, state.host_idt_desc); | 140 | OFFSET(LGUEST_PAGES_host_idt_desc, lguest_pages, state.host_idt_desc); |
139 | OFFSET(LGUEST_PAGES_host_cr3, lguest_pages, state.host_cr3); | 141 | OFFSET(LGUEST_PAGES_host_cr3, lguest_pages, state.host_cr3); |