A small example of how it can be used privately. rfc-by: Oleg Verych --- TODO: change lguest files to use it. drivers/lguest/Makefile | 4 ++++ drivers/lguest/asm-values.c | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) Index: linux-2.6.22-rc4-mm2/drivers/lguest/Makefile =================================================================== --- linux-2.6.22-rc4-mm2.orig/drivers/lguest/Makefile 2007-06-13 01:25:17.931654500 +0200 +++ linux-2.6.22-rc4-mm2/drivers/lguest/Makefile 2007-06-13 01:29:01.337616500 +0200 @@ -1,2 +1,6 @@ +# Generate private asm-values.h +ASM_NS = LGUEST +include $(srctree)/scripts/Makefile.asm + # Guest requires the paravirt_ops replacement and the bus driver. obj-$(CONFIG_LGUEST_GUEST) += lguest.o lguest_asm.o lguest_bus.o Index: linux-2.6.22-rc4-mm2/drivers/lguest/asm-values.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.22-rc4-mm2/drivers/lguest/asm-values.c 2007-06-13 01:29:01.337616500 +0200 @@ -0,0 +1,24 @@ +/* + * Private definitions needed by lguest's assembly language modules. + */ + +#include +#include "lg.h" +#include + +void fell_guest(void); + +void fell_guest(void) +{ + OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled); + OFFSET(LGUEST_PAGES_host_gdt_desc, lguest_pages, state.host_gdt_desc); + OFFSET(LGUEST_PAGES_host_idt_desc, lguest_pages, state.host_idt_desc); + OFFSET(LGUEST_PAGES_host_cr3, lguest_pages, state.host_cr3); + OFFSET(LGUEST_PAGES_host_sp, lguest_pages, state.host_sp); + OFFSET(LGUEST_PAGES_guest_gdt_desc, lguest_pages,state.guest_gdt_desc); + OFFSET(LGUEST_PAGES_guest_idt_desc, lguest_pages,state.guest_idt_desc); + OFFSET(LGUEST_PAGES_guest_gdt, lguest_pages, state.guest_gdt); + OFFSET(LGUEST_PAGES_regs_trapnum, lguest_pages, regs.trapnum); + OFFSET(LGUEST_PAGES_regs_errcode, lguest_pages, regs.errcode); + OFFSET(LGUEST_PAGES_regs, lguest_pages, regs); +} -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/