Re: A set of standard virtual devices?

2007-04-04 Thread Arnd Bergmann
On Wednesday 04 April 2007, H. Peter Anvin wrote: Configuration space access is platform-dependent.  It's only defined to work in a specific way on x86 platforms. Interrupt swizzling is really totally independent of PCI.  ALL PCI really provides is up to four interrupts per device (not

Re: [patch 04/17] Add pagetable accessors to pack and unpack pagetable entries

2007-04-04 Thread Jeremy Fitzhardinge
Andi Kleen wrote: Why is there a difference for null syscall? I had assumed we patched all the fast path cases relevant there. Do you have an idea where it comes from? Sure. There's indirect calls for things like sti/cli/iret. It goes back to native speed when you patch the real instructions

[PATCH] Unified lguest launcher

2007-04-04 Thread Glauber de Oliveira Costa
This is a new version of the unified lguest launcher that applies to the current tree. According to rusty's suggestion, I'm bothering less to be able to load 32 bit kernels on 64-bit machines: changing the launcher for such case would be the easy part! In the absence of further objections, I'll

[PATCH] lguest32 kallsyms backtrace of guest.

2007-04-04 Thread Steven Rostedt
This is taken from the work I did on lguest64. When killing a guest, we read the guest stack to do a nice back trace of the guest and send it via printk to the host. So instead of just getting an error message from the lguest launcher of: lguest: bad read address 537012178 len 1 I also get in

[PATCH] Lguest32 print hex on bad reads and writes

2007-04-04 Thread Steven Rostedt
Currently the lguest32 error messages from bad reads and writes prints a decimal integer for addresses. This is pretty annoying. So this patch changes those to be hex outputs. This is applied on top of my debug patch. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] Index:

Re: [patch 04/17] Add pagetable accessors to pack and unpack pagetable entries

2007-04-04 Thread Rusty Russell
On Wed, 2007-04-04 at 17:56 +0200, Andi Kleen wrote: On Wednesday 04 April 2007 17:45:44 Jeremy Fitzhardinge wrote: Andi Kleen wrote: Why is there a difference for null syscall? I had assumed we patched all the fast path cases relevant there. Do you have an idea where it comes from?

Re: [patch 04/17] Add pagetable accessors to pack and unpack pagetable entries

2007-04-04 Thread Jeremy Fitzhardinge
Rusty Russell wrote: You'll still have the damage inflicted on gcc's optimizer, though. Well, I could remove the clobbers for PVOP_CALL[0-2] and add the appropriate push/pops, and put similar push/pop wrappers around all the called functions. But it doesn't make it any prettier. J

[patch 09/20] rename struct paravirt_patch to paravirt_patch_site for clarity

2007-04-04 Thread Jeremy Fitzhardinge
Rename struct paravirt_patch to paravirt_patch_site, so that it clearly refers to a callsite, and not the patch which may be applied to that callsite. Signed-off-by: Jeremy Fitzhardinge [EMAIL PROTECTED] Cc: Rusty Russell [EMAIL PROTECTED] Cc: Zachary Amsden [EMAIL PROTECTED] ---

[patch 08/20] add hooks to intercept mm creation and destruction

2007-04-04 Thread Jeremy Fitzhardinge
Add hooks to allow a paravirt implementation to track the lifetime of an mm. Paravirtualization requires three hooks, but only two are needed in common code. They are: arch_dup_mmap, which is called when a new mmap is created at fork arch_exit_mmap, which is called when the last process

[patch 18/20] clean up tsc-based sched_clock

2007-04-04 Thread Jeremy Fitzhardinge
Three cleanups: - change instable - unstable - its better to use get_cpu_var for getting this cpu's variables - change cycles_2_ns to do the full computation rather than just the tsc-ns scaling. Its a simpler interface, and it makes the function more generally useful. Signed-off-by:

[patch 16/20] revert map_pt_hook.

2007-04-04 Thread Jeremy Fitzhardinge
Back out the map_pt_hook to clear the way for kmap_atomic_pte. Signed-off-by: Jeremy Fitzhardinge [EMAIL PROTECTED] Cc: Zachary Amsden [EMAIL PROTECTED] --- arch/i386/kernel/paravirt.c |2 -- arch/i386/kernel/vmi.c |2 ++ include/asm-i386/paravirt.h |7 ---

[patch 06/20] Allocate a fixmap slot

2007-04-04 Thread Jeremy Fitzhardinge
Allocate a fixmap slot for use by a paravirt_ops implementation. This is intended for early-boot bootstrap mappings. Once the zones and allocator have been set up, it would be better to use get_vm_area() to allocate some virtual space. Xen uses this to map the hypervisor's shared info page,

[patch 17/20] add kmap_atomic_pte for mapping highpte pages

2007-04-04 Thread Jeremy Fitzhardinge
Xen and VMI both have special requirements when mapping a highmem pte page into the kernel address space. These can be dealt with by adding a new kmap_atomic_pte() function for mapping highptes, and hooking it into the paravirt_ops infrastructure. Xen specifically wants to map the pte page RO,

[patch 01/20] update MAINTAINERS

2007-04-04 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge [EMAIL PROTECTED] Cc: Chris Wright [EMAIL PROTECTED] Cc: Zachary Amsden [EMAIL PROTECTED] Cc: Rusty Russell [EMAIL PROTECTED] --- MAINTAINERS | 22 ++ 1 file changed, 22 insertions(+)

[patch 19/20] Add a sched_clock paravirt_op

2007-04-04 Thread Jeremy Fitzhardinge
The tsc-based get_scheduled_cycles interface is not a good match for Xen's runstate accounting, which reports everything in nanoseconds. This patch replaces this interface with a sched_clock interface, which matches both Xen and VMI's requirements. In order to do this, we: 1. replace

[patch 11/20] Fix patch site clobbers to include return register

2007-04-04 Thread Jeremy Fitzhardinge
Fix a few clobbers to include the return register. The clobbers set is the set of all registers modified (or may be modified) by the code snippet, regardless of whether it was deliberate or accidental. Also, make sure that callsites which are used in contexts which don't allow clobbers actually

Re: [patch 07/20] Allow paravirt backend to choose kernel PMD sharing

2007-04-04 Thread Jeremy Fitzhardinge
Christoph Lameter wrote: Acked-by: Christoph Lameter [EMAIL PROTECTED] for all thats worth since I am not a i386 specialist. How much of the issues with page struct sharing between slab and arch code does this address? I haven't been following that thread as closely as I should be, so

Re: New CPUID/MSR driver; virtualization hooks

2007-04-04 Thread H. Peter Anvin
Chris Wright wrote: http://git.kernel.org/?p=linux/kernel/git/hpa/linux-2.6-cpuidmsr.git;a=summary Bleah, and gitweb is unhappy ATM too. ??? Works for me? Without having seen the patch yet, you'll need to make sure that the final point which is issuing asm(cpuid) is wrapped and split

Re: [PATCH] lguest32 kallsyms backtrace of guest.

2007-04-04 Thread Rusty Russell
On Wed, 2007-04-04 at 14:23 -0400, Steven Rostedt wrote: This is taken from the work I did on lguest64. When killing a guest, we read the guest stack to do a nice back trace of the guest and send it via printk to the host. So instead of just getting an error message from the lguest

Re: [PATCH] Lguest32, use guest page tables to find paddr for emulated instructions

2007-04-04 Thread Rusty Russell
On Wed, 2007-04-04 at 15:07 -0400, Steven Rostedt wrote: [Bug that was found by my previous patch] This patch allows things like modules, which don't have a direct __pa(EIP) mapping to do emulated instructions. Sure, the emulated instruction probably should be a paravirt_op, but this

Re: [PATCH] Lguest32 print hex on bad reads and writes

2007-04-04 Thread Rusty Russell
On Wed, 2007-04-04 at 15:14 -0400, Steven Rostedt wrote: Currently the lguest32 error messages from bad reads and writes prints a decimal integer for addresses. This is pretty annoying. So this patch changes those to be hex outputs. (Erk, I wonder what I was thinking when I wrote that?) Can I

Re: [PATCH] Lguest32 print hex on bad reads and writes

2007-04-04 Thread Kyle Moffett
On Apr 04, 2007, at 23:01:30, Rusty Russell wrote: On Wed, 2007-04-04 at 15:14 -0400, Steven Rostedt wrote: Currently the lguest32 error messages from bad reads and writes prints a decimal integer for addresses. This is pretty annoying. So this patch changes those to be hex outputs.

Re: [PATCH] Lguest32 print hex on bad reads and writes

2007-04-04 Thread Steven Rostedt
On Wed, 2007-04-04 at 23:06 -0400, Kyle Moffett wrote: (Erk, I wonder what I was thinking when I wrote that?) Can I ask for %#x (or 0x%x)? I'm easily confused. How about %p for pointers? But that would require casting the numbers to pointers. -- Steve

Re: [PATCH] lguest32 kallsyms backtrace of guest.

2007-04-04 Thread Steven Rostedt
On Thu, 2007-04-05 at 12:54 +1000, Rusty Russell wrote: This is a cool idea, but there are two issues with this patch. The first is that it's 500 lines of code: that's around +10% on lguest's total code size! The second is that it conflicts with the medium-term plan to allow any

[patch 2/2] Make COMPAT_VDSO runtime selectable.

2007-04-04 Thread Jeremy Fitzhardinge
Now that relocation of the VDSO for COMPAT_VDSO users is done at runtime rather than compile time, it is possible to enable/disable compat mode at runtime. This patch allows you to enable COMPAT_VDSO mode with vdso=2 on the kernel command line, or via sysctl. The COMPAT_VDSO config option still

[patch 1/2] Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO

2007-04-04 Thread Jeremy Fitzhardinge
Some versions of libc can't deal with a VDSO which doesn't have its ELF headers matching its mapped address. COMPAT_VDSO maps the VDSO at a specific system-wide fixed address. Previously this was all done at build time, on the grounds that the fixed VDSO address is always at the top of the