Rusty Russell <[EMAIL PROTECTED]> writes:
> On Sun, 2007-04-29 at 21:38 -0700, H. Peter Anvin wrote:
>> Rusty Russell wrote:
>> >
>> > Dammit, Eric, you spend a lot of time using words like "insane" where
>> > you mean we didn't do everything all at once.
>> >
>> > It's *not* clear that using %e
On Sun, 2007-04-29 at 21:38 -0700, H. Peter Anvin wrote:
> Rusty Russell wrote:
> >
> > Dammit, Eric, you spend a lot of time using words like "insane" where
> > you mean we didn't do everything all at once.
> >
> > It's *not* clear that using %esi is sane, but nothing in the current
> > code pre
Roland McGrath wrote:
> I wouldn't add that macro to asm/elf.h. There is nothing magical or
> standard about that number.
>
It was just there for a later patch to set/clear the mask dynamically
depending on whether we're running under Xen. But I haven't implemented
that yet.
J
__
Rusty Russell wrote:
>
> Dammit, Eric, you spend a lot of time using words like "insane" where
> you mean we didn't do everything all at once.
>
> It's *not* clear that using %esi is sane, but nothing in the current
> code prevents that.
>
Why not?
-hpa
On Sun, 2007-04-29 at 09:11 -0600, Eric W. Biederman wrote:
> Right now I'm a little frustrated that insanity below slipped into
> head.S right after the 32bit entry point after the review said
> use the normal linux parameters for parameter passing.
>
> > #ifdef CONFIG_PARAVIRT
> >
I wouldn't add that macro to asm/elf.h. There is nothing magical or
standard about that number.
Thanks,
Roland
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualization
> source "drivers/s390/block/Kconfig"
> +source "drivers/block/xen/Kconfig"
Please don't add a new subdirectory for a tiny new driver that
really should be only a single .c file.
> +config XEN_BLKDEV_FRONTEND
> + tristate "Block device frontend driver"
> + depends on XEN
> + default
Add Xen 'grant table' driver which allows granting of access to
selected local memory pages by other virtual machines and,
symmetrically, the mapping of remote memory pages which other virtual
machines have granted access to.
This driver is a prerequisite for many of the Xen virtual device
drivers
Make the appropriate hypercalls to halt and reboot the virtual machine.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
---
arch/i386/xen/enlighten.c | 43 +++
arch/i386/xen/smp.c |4 +---
2 files changed, 44 insertions(+), 3 deletions(-
Move things around a bit to match xen-unstable netfront.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
---
drivers/net/xen-netfront.c | 36 +---
1 file changed, 17 insertions(+), 19 deletions(-)
=
Netfront's use of nh.raw and h.raw for storing page+offset is a bit
hinky, and it breaks with upcoming network stack updates which reduce
these fields to sub-pointer sizes. Fortunately, skb offers the "cb"
field specifically for stashing this kind of info, so use it.
Signed-off-by: Jeremy Fitzhar
On Sun, Apr 29, 2007 at 10:29:02AM -0700, Jeremy Fitzhardinge wrote:
> +#include
not needed.
> +#include
> +#include
> +#include
> +#ifdef CONFIG_XEN_BALLOON
> +#include
> +#endif
> +#include
Please don't try to put such a fucked up include hierachy in.
Just move everything under include/x
The block device frontend driver allows the kernel to access block
devices exported exported by a virtual machine containing a physical
block device driver.
Signed-off-by: Ian Pratt <[EMAIL PROTECTED]>
Signed-off-by: Christian Limpach <[EMAIL PROTECTED]>
Signed-off-by: Chris Wright <[EMAIL PROTECT
"dev_changed" is too generic to be global. Put "xenbus_" on the
front.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
---
drivers/xen/xenbus/xenbus_probe.c |4 ++--
drivers/xen/xenbus/xenbus_probe.h |2 +-
drivers/xen/xenbus/xenbus_probe_backend.c |2 +-
3 fi
Implement xen_sched_clock, which returns the number of ns the current
vcpu has been actually in an unstolen state (ie, running or blocked,
vs runnable-but-not-running, or offline) since boot.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
Cc: john stultz <[EMAIL PROTECTED]>
---
arch/i386
Add early printk support via hvc console, enable using
"earlyprintk=xen" on the kernel command line.
From: Gerd Hoffmann <[EMAIL PROTECTED]>
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
Acked-by: Ingo Molnar <[EMAIL PROTECTED]>
---
arch/x86_64/kernel/early_printk.c |5 +
driver
This is a fairly straightforward Xen implementation of smp_ops.
Xen has its own IPI mechanisms, and has no dependency on any
APIC-based IPI. The smp_ops hooks and the flush_tlb_others pv_op
allow a Xen guest to avoid all APIC code in arch/i386 (the only apic
operation is a single apic_read for th
The network device frontend driver allows the kernel to access network
devices exported exported by a virtual machine containing a physical
network device driver.
Signed-off-by: Ian Pratt <[EMAIL PROTECTED]>
Signed-off-by: Christian Limpach <[EMAIL PROTECTED]>
Signed-off-by: Chris Wright <[EMAIL P
This patch is a rollup of all the core pieces of the Xen
implementation, including:
- booting and setup
- pagetable setup
- privileged instructions
- segmentation
- multicall batching
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
Cc: Ian Pratt <[EMAIL PROTECTED]>
Cc: Christian Limpac
netfront contains two locking problems found by lockdep:
1. rx_lock is a normal spinlock, and tx_lock is an irq spinlock. This
means that in normal use, tx_lock may be taken by an interrupt routine
while rx_lock is held. However, netif_disconnect_backend takes them
in the order tx_lock-
===
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1213,10 +1213,10 @@ static int netif_poll(struct net_device
int pages_flipped = 0;
int err;
- spin_lock_bh(&np->rx_lock);
+ spin_l
xenbus_watch_path2 is not very general. Passing a printf-style format
string is no more complex and more general.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
Cc: Keir Fraser <[EMAIL PROTECTED]>
---
drivers/xen/xenbus/xenbus_client.c | 44
driver
Implement a Xen back-end for hvc console.
From: Gerd Hoffmann <[EMAIL PROTECTED]>
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
Cc: Olof Johansson <[EMAIL PROTECTED]>
---
arch/i386/xen/events.c |3 -
drivers/Makefile |3 +
drivers/char/Kconfig |8 ++
drivers/char/Make
Xen pagetable handling, including the machinery to implement direct
pagetables. This means that pte update operations are intercepted so
that pseudo-physical addresses can be converted to machine addresses.
It also implements late pinning/early unpinning so that pagetables are
initialized while th
Time is implemented by using a clocksource which is driven from the
hypervisor's nanosecond timebase. Xen implements time by
extrapolating from known timestamps using the tsc; the hypervisor is
responsible for making sure that the tsc is constant rate and
synchronized between vcpus.
Signed-off-by
Add Xen support for preemption. This is mostly a cleanup of existing
preempt_enable/disable calls, or just comments to explain the current
usage.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
---
arch/i386/xen/Kconfig |2
arch/i386/xen/enlighten.c | 105
Stolen time should never be negative; if it ever is, it probably
indicates some other bug. However, if it does happen, then its better
to just clamp it at zero, rather than trying to account for it as a
huge positive number.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
---
arch/i386/x
1. make sure timer state is set up before bringing up CPU
2. make sure snapshot of 64-bit time values is atomic
Be sure, however, that the clockevent source is registered on its home
CPU.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
---
arch/i386/xen/smp.c |4 +-
arch/i386/xen
Xen has a notion of pinned pagetables, which are pagetables that
remain read-only to the guest and are validated by the hypervisor.
This makes context switches much cheaper, because the hypervisor
doesn't need to revalidate the pagetable each time.
This patch adds a PG_pinned flag for pagetable pa
Xen implements interrupts in terms of event channels. This patch maps
an event through an event channel to an irq, and then feeds it through
the normal interrupt path, via a Xen irq_chip implementation.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
Cc: Ingo Molnar <[EMAIL PROTECTED]>
Cc:
This accounts for the time Xen steals from our VCPUs. This accounting
gets run on each timer interrupt, just as a way to get it run
relatively often, and when interesting things are going on.
Stolen time is not really used by much in the kernel; it is reported
in /proc/stats, and that's about it.
This patch uses the lazy-mmu hooks to batch mmu operations where
possible. This is primarily useful for batching operations applied to
active pagetables, which happens during mprotect, munmap, mremap and
the like (mmap does not do bulk pagetable operations, so it isn't
helped).
Signed-off-by: Jer
Disable interrupts between allocating a multicall entry and actually
issuing it, to prevent an interrupt from coming in, allocating and
initializing further multicall entries, and then issuing them all,
including the partially completed one.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
When setting up the initial pagetable, which includes mappings of all
low physical memory, ignore a mapping which tries to set the RW bit on
an RO pte. An RO pte indicates a page which is part of the current
pagetable, and so it cannot be allowed to become RW.
Once xen_pagetable_setup_done is cal
Put config options for Xen after the core pieces are in place.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
---
arch/i386/Kconfig |2 ++
arch/i386/xen/Kconfig | 12
2 files changed, 14 insertions(+)
===
Add a new mm function apply_to_page_range() which applies a given
function to every pte in a given virtual address range in a given mm
structure. This is a generic alternative to cut-and-pasting the Linux
idiomatic pagetable walking code in every place that a sequence of
PTEs must be accessed.
Alt
Allocate/destroy a 'vmalloc' VM area: alloc_vm_area and free_vm_area
The alloc function ensures that page tables are constructed for the
region of kernel virtual address space and mapped into init_mm.
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
Signed-off-by: Ian Pratt <[EMAIL PROTECTED
Add the "nosegneg" fake capabilty to the vsyscall page notes. This is
used by the runtime linker to select a glibc version which then
disables negative-offset accesses to the thread-local segment via
%gs. These accesses require emulation in Xen (because segments are
truncated to protect the hypervi
Hi Andi,
This series of patches implements the Xen paravirt-ops interface.
It applies to 2.6.21 + 2.6.21-070428-1 + the patches I've posted over
the last couple of days.
Changes since the last posting:
- update per review comments
- comment each file
- comment barrier use
- use common c
Eric W. Biederman wrote:
> Any chance you had CONFIG_DEBUG_PAGEALLOC selected?
>
Yes, that's quite likely.
J
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualizat
Jeremy Fitzhardinge <[EMAIL PROTECTED]> writes:
> Eric W. Biederman wrote:
>> And it just occurred to me PSE disabled, otherwise you would not have
>> needed more than 4 pages. I supposed you were testing the Xen case.
>>
>
> No, actually, I wasn't. It was booting native (the Xen boot path
>
Jeremy Fitzhardinge <[EMAIL PROTECTED]> writes:
> Eric W. Biederman wrote:
>> All it does is set a flag that tells a bootloader.
>> "Hey. I can run when loaded a non-default address, and this is what
>> you have to align me to."
>>
>> All relocation processing happens in the kernel itself.
>>
Andrew Morton commented out some stuff to make lguest compile. This
should actually make it work (in the latest -mm).
Signed-off-by: Rusty Russell <[EMAIL PROTECTED]>
---
drivers/lguest/lguest.c | 11 ++-
1 file changed, 2 insertions(+), 9 deletions(-)
There's a new paravirt_lazy_mode mode in town.
Well, it's spelled "mode", but it's pronounced "hack".
Signed-off-by: Rusty Russell <[EMAIL PROTECTED]>
---
drivers/lguest/lguest.c |8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
===
On Sun, Apr 29, 2007 at 12:43:33AM -0700, Jeremy Fitzhardinge wrote:
> Herbert Xu wrote:
> > BTW, the version I posted to you is missing the following line.
> >
> > --- linux-2.6.20.i386/drivers/xen/core/skbuff.c 2007-04-28
> > 15:30:16.0 +1000
> > +++ build-2.6.20.i386/drivers/xen/
Herbert Xu wrote:
> BTW, the version I posted to you is missing the following line.
>
> --- linux-2.6.20.i386/drivers/xen/core/skbuff.c 2007-04-28
> 15:30:16.0 +1000
> +++ build-2.6.20.i386/drivers/xen/core/skbuff.c 2007-04-28
> 15:30:52.0 +1000
> @@ -89,6 +89,7 @@
46 matches
Mail list logo