diff --git a/.rootkeys b/.rootkeys index 6d1496d0d6..274a2aefea 100644 --- a/.rootkeys +++ b/.rootkeys @@ -769,6 +769,7 @@ 40fcefb3yMSrZvApO9ToIi-iQwnchA tools/sv/images/xen.png 41013a83z27rKvWIxAfUBMVZ1eDCDg tools/sv/inc/script.js 40fcefb3zGC9XNBkSwTEobCoq8YClA tools/sv/inc/style.css +420b963dK3yGNtqxRM8npGZtrCQd1g tools/vnet/00INSTALL 41a21888_WlknVWjSxb32Fo13_ujsw tools/vnet/00README 420a9b706I-bN_uPdiy0m3rmDifNNg tools/vnet/INSTALL 41a21888bOiOJc7blzRbe4MNJoaYTw tools/vnet/Makefile diff --git a/tools/vnet/00INSTALL b/tools/vnet/00INSTALL new file mode 100644 index 0000000000..1c76986d83 --- /dev/null +++ b/tools/vnet/00INSTALL @@ -0,0 +1,31 @@ + +To compile and install run "make install"; if it fails or you need to reinstall +run "make clean" first or the build will fail, at least that is what I have +found under 2.6.10. + +Other important items: +1) You will need to have your xen0 kernel compiled with HMAC_SUPPORT + 2.6.x = (MAIN MENU: Cryptographic Options -> HMAC Support) + BEFORE running "make install". + +2) You will want at least some of the other alogorithms listed under + "Cryptographic Options" for the kernel compiled as modules. + +3) You will want the networking IPsec/VLAN options compiled in as modules + 2.6.x = (MAIN MENU: Device Drivers -> Networking Support -> + Networking Options -> + IP: AH transformation + IP: ESP transformation + IP: IPComp transformation + IP: tunnel transformation + + IPsec user configuration interface + + 802.1Q VLAN Support + +4) The module (vnet_module) will not properly load from the command line + with a "modprobe vnet_module". Use network-vnet to properly configure + your system and load the module for you. + +Please refer to the additional documentation found in tools/vnet/doc for +proper syntax and config file parameters. diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c index 907590e6cb..8a0c0b81db 100644 --- a/xen/arch/x86/extable.c +++ b/xen/arch/x86/extable.c @@ -63,8 +63,9 @@ search_exception_table(unsigned long addr) } unsigned long -search_pre_exception_table(unsigned long addr) +search_pre_exception_table(struct xen_regs *regs) { + unsigned long addr = (unsigned long)regs->eip; unsigned long fixup = search_one_table( __start___pre_ex_table, __stop___pre_ex_table-1, addr); DPRINTK("Pre-exception: %p -> %p\n", addr, fixup); diff --git a/xen/arch/x86/x86_32/entry.S b/xen/arch/x86/x86_32/entry.S index 3e33befc79..2a3b45b2a5 100644 --- a/xen/arch/x86/x86_32/entry.S +++ b/xen/arch/x86/x86_32/entry.S @@ -480,7 +480,7 @@ exception_with_ints_disabled: testl $(3|X86_EFLAGS_VM),%eax # interrupts disabled outside Xen? jnz 1b # it really does happen! # (e.g., DOM0 X server) - pushl XREGS_eip(%esp) + pushl %esp call search_pre_exception_table addl $4,%esp testl %eax,%eax # no fixup code for faulting EIP?