search for: lguest_regs

Displaying 20 results from an estimated 28 matches for "lguest_regs".

2007 Apr 18
1
[PATCH] lguest32 kallsyms backtrace of guest.
...->dead) \ (lg)->dead = (void *)1; \ @@ -248,5 +251,11 @@ static inline unsigned long guest_pa(str { return vaddr - lg->page_offset; } + +/* lguest_debug.c */ +void lguest_print_address(struct lguest *lg, unsigned long address); +void lguest_dump_trace(struct lguest *lg, struct lguest_regs *regs); +void lguest_dump_lg_regs(struct lguest *lg); + #endif /* __ASSEMBLY__ */ #endif /* _LGUEST_H */ Index: linux-2.6.21-rc5-mm2/drivers/lguest/lguest.c =================================================================== --- linux-2.6.21-rc5-mm2.orig/drivers/lguest/lguest.c +++ linux-2.6.21-r...
2007 Apr 18
1
[PATCH] lguest32 kallsyms backtrace of guest.
...->dead) \ (lg)->dead = (void *)1; \ @@ -248,5 +251,11 @@ static inline unsigned long guest_pa(str { return vaddr - lg->page_offset; } + +/* lguest_debug.c */ +void lguest_print_address(struct lguest *lg, unsigned long address); +void lguest_dump_trace(struct lguest *lg, struct lguest_regs *regs); +void lguest_dump_lg_regs(struct lguest *lg); + #endif /* __ASSEMBLY__ */ #endif /* _LGUEST_H */ Index: linux-2.6.21-rc5-mm2/drivers/lguest/lguest.c =================================================================== --- linux-2.6.21-rc5-mm2.orig/drivers/lguest/lguest.c +++ linux-2.6.21-r...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 05/13] asm-offsets update
...; + ENTRY(nmi_gs_d); + ENTRY(nmi_gs_shadow_a); + ENTRY(nmi_gs_shadow_d); + ENTRY(nmi_stack_end); + ENTRY(nmi_gdt); + ENTRY(nmi_sw); +#undef ENTRY +#define ENTRY(entry) DEFINE(LGUEST_DATA_##entry, offsetof(struct lguest_data, entry)) + ENTRY(irq_enabled); +#undef ENTRY +#define ENTRY(entry) DEFINE(LGUEST_REGS_##entry, offsetof(struct lguest_regs, entry)) + ENTRY(errcode); + ENTRY(rip); + ENTRY(size); + BLANK(); +#endif return 0; } --
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 05/13] asm-offsets update
...; + ENTRY(nmi_gs_d); + ENTRY(nmi_gs_shadow_a); + ENTRY(nmi_gs_shadow_d); + ENTRY(nmi_stack_end); + ENTRY(nmi_gdt); + ENTRY(nmi_sw); +#undef ENTRY +#define ENTRY(entry) DEFINE(LGUEST_DATA_##entry, offsetof(struct lguest_data, entry)) + ENTRY(irq_enabled); +#undef ENTRY +#define ENTRY(entry) DEFINE(LGUEST_REGS_##entry, offsetof(struct lguest_regs, entry)) + ENTRY(errcode); + ENTRY(rip); + ENTRY(size); + BLANK(); +#endif return 0; } --
2007 May 09
2
[PATCH 0/2 v05] lguest: TSC & hrtimers
The following patches are the latest update of the TSC and hrtimer patches I posted on 29/03. Rusty's original TSC patch has been resynced to the latest lguest repo, as has the hrtimer patch, which also incorporates feedback from Jeremy & Rusty: - Change clock event hrtimer to absolute time. 'now' is captured in the host during the hypercall. - Propagate -ETIME back to the
2007 May 09
2
[PATCH 0/2 v05] lguest: TSC & hrtimers
The following patches are the latest update of the TSC and hrtimer patches I posted on 29/03. Rusty's original TSC patch has been resynced to the latest lguest repo, as has the hrtimer patch, which also incorporates feedback from Jeremy & Rusty: - Change clock event hrtimer to absolute time. 'now' is captured in the host during the hypercall. - Propagate -ETIME back to the
2007 May 02
3
[RELEASE] Lguest for 2.6.21
Hi all, Lguest is a simple hypervisor which runs Linux under Linux, without needing VT hardware. Two people asked if I had a version of lguest which worked on other-than-bleeding-edge-mm kernels, so I did a backport of the latest version to 2.6.21. http://lguest.ozlabs.org/lguest-2.6.21-254.patch.gz See Documentation/lguest/lguest.txt for how to run, drivers/lguest/README for the draft code
2007 May 02
3
[RELEASE] Lguest for 2.6.21
Hi all, Lguest is a simple hypervisor which runs Linux under Linux, without needing VT hardware. Two people asked if I had a version of lguest which worked on other-than-bleeding-edge-mm kernels, so I did a backport of the latest version to 2.6.21. http://lguest.ozlabs.org/lguest-2.6.21-254.patch.gz See Documentation/lguest/lguest.txt for how to run, drivers/lguest/README for the draft code
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 04/13] Useful debugging
...lock_irqrestore(&lgdebug_print_lock, flags); +} + +void lgdebug_print(const char *fmt, ...) +{ + va_list ap; + + if (!lguest_debug) + return; + + /* irq save? */ + va_start(ap, fmt); + lgdebug_vprint(fmt, ap); + va_end(ap); +} + +void lguest_dump_vcpu_regs(struct lguest_vcpu *vcpu) +{ + struct lguest_regs *regs = &vcpu->regs; + + printk("Printing VCPU %d regs cr3: %016llx\n", vcpu->id, regs->cr3); + printk("RIP: %04llx: ", regs->cs & 0xffff); + lguest_print_address(vcpu, regs->rip); + printk("RSP: %04llx:%016llx EFLAGS: %08llx\n", regs->ss, re...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 04/13] Useful debugging
...lock_irqrestore(&lgdebug_print_lock, flags); +} + +void lgdebug_print(const char *fmt, ...) +{ + va_list ap; + + if (!lguest_debug) + return; + + /* irq save? */ + va_start(ap, fmt); + lgdebug_vprint(fmt, ap); + va_end(ap); +} + +void lguest_dump_vcpu_regs(struct lguest_vcpu *vcpu) +{ + struct lguest_regs *regs = &vcpu->regs; + + printk("Printing VCPU %d regs cr3: %016llx\n", vcpu->id, regs->cr3); + printk("RIP: %04llx: ", regs->cs & 0xffff); + lguest_print_address(vcpu, regs->rip); + printk("RSP: %04llx:%016llx EFLAGS: %08llx\n", regs->ss, re...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...quot;r" (sw_guest) + : "memory", "cc"); +} + +/* FIXME: don't know yet the right parameters to put here */ +int run_guest(struct lguest_vcpu *vcpu, char *__user user) +{ + struct lguest_guest_info *linfo = vcpu->guest; + struct desc_struct *gdt_table; + struct lguest_regs *regs = &vcpu->regs; + int ret; + + unsigned long cr2 = 0; + + while (!linfo->dead) { + + if (regs->trapnum == LGUEST_TRAP_ENTRY) { + + if (lguest_debug) { + printk("hit trap %lld rip=", regs->trapnum); + lguest_print_address(vcpu, regs->rip); + printk(&quot...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...quot;r" (sw_guest) + : "memory", "cc"); +} + +/* FIXME: don't know yet the right parameters to put here */ +int run_guest(struct lguest_vcpu *vcpu, char *__user user) +{ + struct lguest_guest_info *linfo = vcpu->guest; + struct desc_struct *gdt_table; + struct lguest_regs *regs = &vcpu->regs; + int ret; + + unsigned long cr2 = 0; + + while (!linfo->dead) { + + if (regs->trapnum == LGUEST_TRAP_ENTRY) { + + if (lguest_debug) { + printk("hit trap %lld rip=", regs->trapnum); + lguest_print_address(vcpu, regs->rip); + printk(&quot...
2007 May 09
1
[patch 3/9] lguest: the host code
...Boston, MA 02110-1301 USA +*/ +#include <linux/uaccess.h> +#include <linux/syscalls.h> +#include <linux/mm.h> +#include <asm/page.h> +#include <asm/pgtable.h> +#include <irq_vectors.h> +#include "lg.h" + +static void do_hcall(struct lguest *lg, struct lguest_regs *regs) +{ + switch (regs->eax) { + case LHCALL_FLUSH_ASYNC: + break; + case LHCALL_LGUEST_INIT: + kill_guest(lg, "already have lguest_data"); + break; + case LHCALL_CRASH: { + char msg[128]; + lgread(lg, msg, regs->edx, sizeof(msg)); + msg[sizeof(msg)-1] = '\0'; + kil...
2007 May 09
1
[patch 3/9] lguest: the host code
...Boston, MA 02110-1301 USA +*/ +#include <linux/uaccess.h> +#include <linux/syscalls.h> +#include <linux/mm.h> +#include <asm/page.h> +#include <asm/pgtable.h> +#include <irq_vectors.h> +#include "lg.h" + +static void do_hcall(struct lguest *lg, struct lguest_regs *regs) +{ + switch (regs->eax) { + case LHCALL_FLUSH_ASYNC: + break; + case LHCALL_LGUEST_INIT: + kill_guest(lg, "already have lguest_data"); + break; + case LHCALL_CRASH: { + char msg[128]; + lgread(lg, msg, regs->edx, sizeof(msg)); + msg[sizeof(msg)-1] = '\0'; + kil...
2007 May 14
5
[PATCH 1/6] lguest: host code tidyups
...%u@%#x", dma->len[i], dma->addr[i]); + kill_guest(lg, "bad DMA entry: %u@%#lx", dma->len[i], dma->addr[i]); return 0; } =================================================================== --- a/drivers/lguest/lg.h +++ b/drivers/lguest/lg.h @@ -25,18 +25,18 @@ struct lguest_regs struct lguest_regs { /* Manually saved part. */ - u32 ebx, ecx, edx; - u32 esi, edi, ebp; - u32 gs; - u32 eax; - u32 fs, ds, es; - u32 trapnum, errcode; + unsigned long ebx, ecx, edx; + unsigned long esi, edi, ebp; + unsigned long gs; + unsigned long eax; + unsigned long fs, ds, es; + unsigned...
2007 May 14
5
[PATCH 1/6] lguest: host code tidyups
...%u@%#x", dma->len[i], dma->addr[i]); + kill_guest(lg, "bad DMA entry: %u@%#lx", dma->len[i], dma->addr[i]); return 0; } =================================================================== --- a/drivers/lguest/lg.h +++ b/drivers/lguest/lg.h @@ -25,18 +25,18 @@ struct lguest_regs struct lguest_regs { /* Manually saved part. */ - u32 ebx, ecx, edx; - u32 esi, edi, ebp; - u32 gs; - u32 eax; - u32 fs, ds, es; - u32 trapnum, errcode; + unsigned long ebx, ecx, edx; + unsigned long esi, edi, ebp; + unsigned long gs; + unsigned long eax; + unsigned long fs, ds, es; + unsigned...
2007 Apr 18
1
[PATCH] lguest: clean up some l"references .init.text" warnings
Thanks to Andrew for pointing these out. This patch moves the parvirtprobe section into .init.data: it's only used in very very early boot, and for similar reasons, puts lguest_maybe_init and lguest_memory_setup in init.text. As well as fixing some warnings, this frees up a tiny bit more memory. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff -r ecec388180b2
2007 Apr 18
1
[PATCH] lguest: clean up some l"references .init.text" warnings
Thanks to Andrew for pointing these out. This patch moves the parvirtprobe section into .init.data: it's only used in very very early boot, and for similar reasons, puts lguest_maybe_init and lguest_memory_setup in init.text. As well as fixing some warnings, this frees up a tiny bit more memory. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff -r ecec388180b2
2007 May 04
1
[PATCH 1/3] Documentation and example updates
1) Example code: old libc headers don't have SIOCBRADDIF, and old zlibs don't have gzdirect() -- it's a sanity check anyway. 2) Some people don't build in their source directories, so .config isn't there (thanks to Tony Breeds <tony@bakeyournoodle.com>). 3) Point out that guest and host kernel are usually the same. 4) Set the "no checksum" option on the
2007 May 04
1
[PATCH 1/3] Documentation and example updates
1) Example code: old libc headers don't have SIOCBRADDIF, and old zlibs don't have gzdirect() -- it's a sanity check anyway. 2) Some people don't build in their source directories, so .config isn't there (thanks to Tony Breeds <tony@bakeyournoodle.com>). 3) Point out that guest and host kernel are usually the same. 4) Set the "no checksum" option on the