Re: [PATCH] Xen i386 xen-head.S fix sections mixup (updated)

2007-08-20 Thread Jeremy Fitzhardinge
er the text has been > marked read-only: reference to early_gdt_descr causes a page fault. > > Update: > > It should be using pushsection/popsection. > Looks good, with one caveat below. Acked-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> > - .section .text

Re: [PATCH 0/4] Virtual Machine Time Accounting

2007-08-20 Thread Jeremy Fitzhardinge
Laurent Vivier wrote: > functionnalities: > > - allow to measure time spent by a CPU in a virtual CPU. > - allow to display in /proc/state this value by CPU > - allow to display in /proc//state this value by process > - allow KVM to use these 3 previous functionnalities > So, currently time spe

Re: [PATCH] Xen i386 xen-head.S fix sections mixup

2007-08-19 Thread Jeremy Fitzhardinge
Mathieu Desnoyers wrote: > Xen i386 xen-head.S fix sections mixup > > xen-head.S does not come back to the data section, leaving the text section > as current section. It causes problems with a slightly enhanced DEBUG_RODATA > that supports CONFIG_HOTPLUG and bringing a CPU up after the text has be

Re: [PATCH 3/25][V3] irq_flags / halt routines

2007-08-15 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > Thanks for the explanation, Andi. I understand it much better now, and > agree with you. > > As alternatives what we have now, we can either keep the paravirt_ops > as it is now for the native case, just hooking the vsmp functions in > place of the normal one, (th

Re: [PATCH 0/25][V3] pvops_64 last round (hopefully)

2007-08-15 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > This is hopefully the last iteration of the pvops64 patch. > > From the last version, we have only one change, which is > include/asm-x86_64/processor.h: There were still one survivor in raw asm. > Also, git screwed me up for some reason, and the 25th patch was m

Re: [PATCH] i386: modified CONFIG_PHYSICAL_ALIGN

2007-08-14 Thread Jeremy Fitzhardinge
Rusty Russell wrote: > On Tue, 2007-08-14 at 05:29 +0200, Andi Kleen wrote: > >> On Tue, Aug 14, 2007 at 09:55:50AM +0900, Yoshimi Ichiyanagi wrote: >> >> How is this related to virtualization? >> >> >>> The problem is, if you compile x86_64 kernel, the value of >>> CONFIG_PHYSICAL_ALIGN w

Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-10 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > Indeed, as the EBDA_ADDR_POINTER is not aligned, this may work even > better. > > It seems to me safe to assume that if we read zero on that line: > > ebda_addr = *(unsigned short *)__va(EBDA_ADDR_POINTER); > > We could just do ebda_size = 0 and go home happy, ski

Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-10 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > I think the idea you gave me earlier of using probe_kernel_address could > work. Xen/lguest/put_yours_here that won't use an ebda would then have > to unmap the page, to make sure a read would fault. Hm, the memory might be mapped anyway, but we could make sure i

Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-10 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > On 8/9/07, Alan Cox <[EMAIL PROTECTED]> wrote: > >>> What's the EBDA actually used for? The only place which seems to use >>> ebda_addr is in the e820 code to avoid that area as RAM. >>> >> It belongs to the firmware. >> > > Wouldn't it be better,

Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-09 Thread Jeremy Fitzhardinge
Andi Kleen wrote: >> -static void discover_ebda(void) >> +void native_ebda_info(unsigned *addr, unsigned *size) >> > > I guess it would be better to use the resources frame work here. > Before checking EBDA check if it is already reserved. Then lguest/Xen > can reserve these areas and stop us

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-09 Thread Jeremy Fitzhardinge
Steven Rostedt wrote: > -- > On Thu, 9 Aug 2007, Andi Kleen wrote: > >>> This has to match the normal C calling convention though, doesn't it? >>> >> Native cli/sti/save/restore_flags are all only assembly and can be easily >> (in fact more easily than in C) written as pure assembler func

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-09 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > On 8/9/07, Jeremy Fitzhardinge <[EMAIL PROTECTED]> wrote: > >>> Does it really matter? >>> >>> >> Well, yes, if alignment is an issue. >> > Of course, But the question rises from the context t

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-09 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: >>> +/* >>> + * integers must be use with care here. They can break the >>> PARAVIRT_PATCH(x) >>> + * macro, that divides the offset in the structure by 8, to get a number >>> + * associated with the hook. Dividing by four would be a solution, but it >>> + * would

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Jeremy Fitzhardinge
Andi Kleen wrote: >> +if (opfunc == NULL) >> +/* If there's no function, patch it with a ud2a (BUG) */ >> +ret = paravirt_patch_insns(site, len, start_ud2a, end_ud2a); >> > > This will actually give corrupted BUGs because you don't supply > the full inline BUG heade

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > +static unsigned native_patch(u8 type, u16 clobbers, void *insns, unsigned > len) > +{ > + const unsigned char *start, *end; > + unsigned ret; > + > + switch(type) { > +#define SITE(x) case PARAVIRT_PATCH(x): start = start_##x; end = > end_##x;

Re: [PATCH 7/25] [PATCH] interrupt related native paravirt functions.

2007-08-08 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > The interrupt initialization routine becomes native_init_IRQ and will > be overriden later in case paravirt is on. > > The interrupt vector is made global, so paravirt guests can reference > it in their initializations. Why? And if so, wouldn't it be better to a

Re: [PATCH 4/25] [PATCH] Add debugreg/load_rsp native hooks

2007-08-08 Thread Jeremy Fitzhardinge
Andi Kleen wrote: >> @@ -264,13 +270,64 @@ struct thread_struct { >> set_fs(USER_DS); >> \ >> } while(0) >> >> -#define get_debugreg(var, register) \ >> -__asm__("movq %%db" #register ", %0"

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Jeremy Fitzhardinge
Rusty Russell wrote: > On Thu, 2007-08-09 at 02:24 +0200, Andi Kleen wrote: > >> Not sure what's best. Ok using a normal export is easiest and not >> that big an issue. >> > > Yeah, there's also been talk of breaking up paravirt_ops into multiple > structs by area, which would lead naturall

Re: Introducing paravirt_ops for x86_64

2007-08-08 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: > On 8/8/07, Nakajima, Jun <[EMAIL PROTECTED]> wrote: > >> Glauber de Oliveira Costa wrote: >> >>> Hi folks, >>> >>> After some time away from it, and a big rebase as a consequence, here >>> >> is >> >>> the updated version of paravirt_ops for x8

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Jeremy Fitzhardinge
Steven Rostedt wrote: > /* >* x86 arch doesn't have an easy way to find out where >* gs is located. So we need to read the MSR. But first >* we need to save off the rcx, rax and rdx. > Why don't you store it in gs? movq %gs:my_gs_base, %rax? J

Re: [PATCH] Remove -static from Documentation/lguest/Makefile

2007-07-20 Thread Jeremy Fitzhardinge
Rusty Russell wrote: > How's this? > === > Link lguest example launcher non-static > > S.Caglar Onur points out that many distributions don't ship a static > zlib. Unfortunately the launcher currently maps virtual device memory > where shared libraries want to go. > > The solution is to pre-scan t

Re: [PATCH RFC] first cut at splitting up paravirt_ops

2007-07-09 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: Well, I think they are pretty good, but for the init group of ops, it seems it would be clearer conceptually to group pagetable setup with the MMU hooks and time init with the time operations. Otherwise, the init group gets very jumbled as we pull in new interfaces (APIC

Re: [PATCH] VMI: remove CONFIG_DEBUG_PAGE_TYPE and associated bitrotted code

2007-07-06 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: I though about it, but it gets really ugly. You need wrappers for all the MMU ops in pvops generic code, which means either another layer of wrappers or a bunch of CONFIG_DEBUG_PARAVIRT Oh, yes, more wrappers please! We could do it at the paravirt_ops level: set up you

Re: [PATCH] VMI: remove CONFIG_DEBUG_PAGE_TYPE and associated bitrotted code

2007-07-06 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: I'd rather keep it, even with bitrot - it was non-trivial to get correct, and found many surprises in the code; most notably, it can detect 1) PTE writes to pages not declared as page tables 2) Failure to allocate or de-allocate page tables using the paravirt-ops API 3)

Re: [PATCH 2/2] lguest: handle dodgy/non-existent TSC. Guest code.

2007-07-05 Thread Jeremy Fitzhardinge
Rusty Russell wrote: Yes, but jiffies is the lowest-rated clock (so PIT will get chosen). I initially mugged clocksource_jiffies.rating, but that felt wrong: it's currently not registered when this code runs so it's a simple assignment, but if code order was to change it would have to be

Re: RFC: multiple address spaces for one process

2007-06-30 Thread Jeremy Fitzhardinge
Carsten Otte wrote: The big difference here is that LinuxOnLinux does represent guest virtual addressing in these mm structs where all other kernel based VMMs do represent guest physical in the user address space. That somewhat disqualifies LinuxOnLinux to share the commonality. Whether or not

Re: RFC: multiple address spaces for one process

2007-06-29 Thread Jeremy Fitzhardinge
Peter Chubb wrote: In a hosted VMM like LinuxOnLinux or UML, context switch time can be a major problem (as mmap when repeated for each guest page frame takes a long time). One solution is to allow the host kernel to keep a cache of address space contexts, and switch between them in a single ope

Re: [PATCH 03/10] define ELF notes for adding to a boot image

2007-06-26 Thread Jeremy Fitzhardinge
Andrew Morton wrote: Jeremy, I'll duck these patches for now, sorry. Mainly on i-already-have-enough-x86-stuff grounds. That's fine. I think it breaks x86-64 at the moment anyway. And I haven't got much feedback about it. There's a bit of overlap between this work and git-newsetup, bu

Re: Vmware crashes if compress/misc.c scrolls?

2007-06-21 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: Do you have a sample bootsector that does this? I would very much like to try booting it rather than writing a mock-up which may or may not exhibit the same behavior. .iso, floppy images greatly would help. The very good news is that I should be able to tell you exactly

Re: Vmware crashes if compress/misc.c scrolls?

2007-06-20 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: Jeremy Fitzhardinge wrote: You mean "is a real failure"? Or "is triggered by particular instructions"? It seems profoundly bogus (as in, surely DOS or something reads the framebuffer). A real failure (although only triggered from some varia

Re: Vmware crashes if compress/misc.c scrolls?

2007-06-20 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: Jeremy Fitzhardinge wrote: Yes. Is this a report of observed failure? And how would VMWare even go about implementing this kind of misfeature? Maybe it fails with particular instructions reading the framebuffer? It supposedly is. You mean "is a

Re: Vmware crashes if compress/misc.c scrolls?

2007-06-20 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: I just got the following message on the syslinux mailing list: 2. On some platforms (vmware for example :), READING from the video memory in the 32bit mode is impossible (causes an exeption). Taking in to account that the scroll function in ilinux/arch/i386/boot/c

[PATCH 3/9] i386: clean up bzImage generation

2007-06-20 Thread Jeremy Fitzhardinge
ggy.o, which cleans things up even more, since the .S file can also set the input and output_size symbols without further linker script hackery; it also removes a complete linker script. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederman" <[EM

[PATCH 8/9] ask the hypervisor how much space it needs reserved

2007-06-20 Thread Jeremy Fitzhardinge
Ask the hypervisor how much space it needs reserved, since 32-on-64 doesn't need any space, and it may change in future. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- arch/i386/xen/enlighten.c | 13 - 1 file changed, 12 insertions(+),

[PATCH 1/9] update boot spec to 2.07

2007-06-20 Thread Jeremy Fitzhardinge
e the uncompressed kernel vmlinux itself; it would only take small buildsystem changes to implement this. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederman" <[EMAIL PROTECTED]> Cc: H. Peter Anvin <[EMAIL PROTECTED]> Cc: Vivek Goyal <[EMAIL P

[PATCH 7/9] i386: paravirt boot sequence

2007-06-20 Thread Jeremy Fitzhardinge
ome paravirtualized environments, but inapproprate for others. 2. Check the hardware architecture, and dispatch to the appropriate kernel entrypoint. If the bootloader doesn't set this, then we simply do the normal boot sequence. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PRO

[PATCH 0/9] x86 boot protocol updates

2007-06-20 Thread Jeremy Fitzhardinge
[ This patch depends on the cross-architecture ELF cleanup patch. ] This series updates the boot protocol to 2.07 and uses it to implement paravirtual booting. This allows the bootloader to tell the kernel what kind of hardware/pseudo-hardware environment it's coming up under, and the kernel can

[PATCH 9/9] xen: use boot protocol to boot xen kernel

2007-06-20 Thread Jeremy Fitzhardinge
ved MSR to set the page address. Once the kernel has been relocated, we update some of the pointers in the start_info to kernel virtual addresses, and then jump to xen_start_kernel() to do the rest of the setup before calling start_kernel() proper. Signed-off-by: Jeremy Fitzhardin

[PATCH 4/9] i386: make the bzImage payload an ELF file

2007-06-20 Thread Jeremy Fitzhardinge
two cases, we generate abstracted versions of the object files which only contain the symbols we care about (generated with objcopy --strip-all --keep-symbol=X), and then include those symbol tables with ld -R. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederm

[PATCH 6/9] always allocate space for notes

2007-06-20 Thread Jeremy Fitzhardinge
ned-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- arch/i386/kernel/vmlinux.lds.S|9 - arch/i386/kernel/vsyscall-note.S |4 +--- include/asm-generic/vmlinux.lds.h |7 ++- include/linux/elfnote.h |2 +- 4 files changed, 12 insertions(

[PATCH 2/9] define ELF notes for adding to a boot image

2007-06-20 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: Vivek Goyal <[EMAIL PROTECTED]> --- include/linux/elf_boot.h | 15 +++ 1 file changed, 15 insertions(+) === --- /dev/null +++ b/include/linu

[PATCH 5/9] add WEAK() for creating weak asm labels

2007-06-20 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- include/linux/linkage.h |6 ++ 1 file changed, 6 insertions(+) === --- a/include/linux/linkage.h +++ b/include/linux/linkage.h @@ -34,6 +34,12 @@ name:

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: The real trick is doing it without the guest being involved at all. Right now, it won't be a problem in KVM since the hypercall page only differs by a single instruction across platforms. In the future, we'll have to be smarter and wait for all VCPUs to leave the hyperc

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: If I had a gentoo install, Yes, but then you'd be a gentoo user. ;) I would probably go so far as to want to recompile everything after migration across CPU vendors; things like NMIs, MSRs, thermal controls and sleep states are also vendor dependent and either need to b

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: Yes, but if we want to stay with that forward compatibility story, we need a way to allow paravirt device probing to be completely orthogonal to paravirt-ops probing. Either the VMware hypervisor needs to NOT implement a CPUID leaf, keeping the same ROM based detection,

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: You only need to quiesce if you have guest-visible data-structures that have details about the underlying hardware. So Xen needs to quiesce, but I don't know of any other VMM that would. VMI, KVM and lhype should be capable of transparent migration without guest involve

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: Unless you also migrate the hypercall page itself and impose migration restrictions on compatible hypercall pages. Seems unreasonable, especially if you support migration between VT and SVM machines. The whole point of a hypercall page is to give you a point of indirect

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: I've been thinking about this wrt the hypercall page in KVM. The problem is that in a model like KVM (or presumably VMI), migration gets really difficult if you have anything but a trivial hypercall page since the hypercall page will change after migration. If you cann

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: Basically, it just makes it easier on distributors and allows any old kernel with paravirt-ops module support to run on any modern, new hypervisor - that might not have even existed at the time the distro was created. Hey, isn't that what VMI's for? ;) I'd been thinking

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: For a VMM which supports both full emulation and para-virtualization, testing CPUID leaves is not sufficient to determine applicability of a paravirt device driver. This only indicates the presence of the functionality, not the fact that the functionality has been activa

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-20 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > I don't agree that having paravirt_ops within a normal module is all > that useful. By the time modules can be loaded, the kernel has > completely booted. There should only be a handful of paravirt_ops > implementations and they aren't large so I don't think there's a big

Re: [PATCH 3/5] KVM: Add paravirt MMU write support

2007-06-19 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > Perhaps my grep'ing skills are weak, but I don't seem to see any. > Were you thinking of something in particular? __pte(), of course. Sheesh. ;) J ___ Virtualization mailing list Virtualization@lists.linux-foundation.or

Re: [PATCH 5/5] KVM: paravirt time source

2007-06-19 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > I've updated this patch and switched to using a scale/shift like Xen > is doing, but I must admit, I don't understand how it helps adjtime. > I poked around a bit and it wasn't obvious. > > Why is having {mult=1<<22, shift=22} better for adjtime than {mult=1, > shift=0}?

Re: [PATCH 5/5] KVM: paravirt time source

2007-06-18 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > Jeremy Fitzhardinge wrote: >> Anthony Liguori wrote: >> >>> Okay. I may remove this patch from the patch series and attempt to >>> sit down next week and work out something more complete that also >>> implements stolen time

Re: [PATCH 5/5] KVM: paravirt time source

2007-06-18 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > Okay. I may remove this patch from the patch series and attempt to > sit down next week and work out something more complete that also > implements stolen time accounting. Well, that's a separate problem. clocksource.read should always return real time passed, so stolen

Re: [PATCH 5/5] KVM: paravirt time source

2007-06-18 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > +static cycle_t read_hyper(void) > +{ > + struct timespec now; > + int ret; > + > + ret = kvm_hypercall(KVM_HYPERCALL_GET_KTIME, (u32)&now, 0, 0, 0); > + WARN_ON(ret); > + > + return now.tv_nsec + now.tv_sec * (cycles_t)1e9; > Hm, use of FP looks pre

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-18 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > Perhaps we can just print the banner before batching occurs? Then > it's being printed at the last possible moment. s/batching/patching/? Yes, that would work. J ___ Virtualization mailing list Virtualization@lists.linux-f

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-17 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > Hi Jeremy, > > Jeremy Fitzhardinge wrote: >> Anthony Liguori wrote: >> >>> 1) Not really sure what is needed for CONFIG_PREEMPT support. I'm not >>> sure which paravirt_ops calls are actually re-entrant. >>> &

Re: [PATCH 4/5] KVM: Add hypercall queue for paravirt_ops implementation

2007-06-17 Thread Jeremy Fitzhardinge
Jeremy Fitzhardinge wrote: >> +static int kvm_hypercall_flush(struct kvm_vcpu *vcpu) >> +{ >> +struct kvm_hypercall_entry *queue; >> +struct kvm_vmca *vmca; >> +int ret = 0; >> +int i; >> + >> +queue = kmap(vcpu->que

Re: [PATCH 4/5] KVM: Add hypercall queue for paravirt_ops implementation

2007-06-17 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > Regards, > > Anthony Liguori > > > Subject: [PATCH] KVM: Add hypercall queue for paravirt_ops implementation > Author: Anthony Liguori <[EMAIL PROTECTED]> > > Implemented a hypercall queue that can be

Re: [PATCH 0/5] KVM paravirt_ops implementation

2007-06-17 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > 1) Not really sure what is needed for CONFIG_PREEMPT support. I'm not > sure which paravirt_ops calls are actually re-entrant. I'm not sure that has specifically come up. The main issue is whether a particular call can be preempted and whether that matters. I guess the

Re: [PATCH 04/10] i386: clean up bzImage generation

2007-06-15 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > Jeremy Fitzhardinge wrote: > >> H. Peter Anvin wrote: >> >>> Jeremy Fitzhardinge wrote: >>> >>> >>>> -setup_move_size: .word 0x8000# size to move, when setup is >>>> not

[PATCH RFC] add domain builder support for bzImage kernels

2007-06-15 Thread Jeremy Fitzhardinge
7;s not a lot of new code. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> diff -r 3af164753238 tools/libxc/Makefile --- a/tools/libxc/Makefile Thu Jun 14 08:15:19 2007 -0700 +++ b/tools/libxc/Makefile Thu Jun 14 08:43:44 2007 -0700 @@ -47,6 +47,7 @@ GUEST_SRCS-y += $(LIB

Re: [PATCH 03/10] define ELF notes for adding to a boot image

2007-06-15 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > Jeremy Fitzhardinge wrote: > >> +#define EIN_PROGRAM_CHECKSUM3 /* ip style checksum of the memory >> image. */ >> > > Why on earth use one of the weakest verificants in common use? I don't know. I copied this stuff f

Re: [PATCH 10/10] xen: use boot protocol to boot xen kernel

2007-06-15 Thread Jeremy Fitzhardinge
Satya wrote: > hi, > I was trying to figure out the boot code of mini-os included in the > Xen-3.1 source distribution. Is it going to change significantly > because of this new boot protocol? thanks! No, there's no change for existing Xen kernels. It only changes if you're booting from a bzImage

Re: [PATCH 04/10] i386: clean up bzImage generation

2007-06-15 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > Jeremy Fitzhardinge wrote: > >> -setup_move_size: .word 0x8000 # size to move, when setup is >> not >> +setup_move_size: .word _setup_size # size to move, when setup is not >> # loaded

[PATCH 05/10] i386: make the bzImage payload an ELF file

2007-06-15 Thread Jeremy Fitzhardinge
two cases, we generate abstracted versions of the object files which only contain the symbols we care about (generated with objcopy --strip-all --keep-symbol=X), and then include those symbol tables with ld -R. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederm

[PATCH 10/10] xen: use boot protocol to boot xen kernel

2007-06-15 Thread Jeremy Fitzhardinge
ved MSR to set the page address. Once the kernel has been relocated, we update some of the pointers in the start_info to kernel virtual addresses, and then jump to xen_start_kernel() to do the rest of the setup before calling start_kernel() proper. Signed-off-by: Jeremy Fitzhardin

[PATCH 09/10] ask the hypervisor how much space it needs reserved

2007-06-15 Thread Jeremy Fitzhardinge
Ask the hypervisor how much space it needs reserved, since 32-on-64 doesn't need any space, and it may change in future. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- arch/i386/xen/enlighten.c | 13 - 1 file changed, 12 insertions(+),

[PATCH 07/10] always allocate space for notes

2007-06-15 Thread Jeremy Fitzhardinge
ned-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- arch/i386/kernel/vmlinux.lds.S|9 - arch/i386/kernel/vsyscall-note.S |4 +--- include/asm-generic/vmlinux.lds.h |7 ++- include/linux/elfnote.h | 21 ++--- 4 files changed, 25 i

[PATCH 08/10] i386: paravirt boot sequence

2007-06-15 Thread Jeremy Fitzhardinge
ome paravirtualized environments, but inapproprate for others. 2. Check the hardware architecture, and dispatch to the appropriate kernel entrypoint. If the bootloader doesn't set this, then we simply do the normal boot sequence. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PRO

[PATCH 04/10] i386: clean up bzImage generation

2007-06-15 Thread Jeremy Fitzhardinge
ggy.o, which cleans things up even more, since the .S file can also set the input and output_size symbols without further linker script hackery; it also removes a complete linker script. - Also, remove stray "sti" Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]>

[PATCH 02/10] allow linux/elf.h to be included in assembler

2007-06-15 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- include/linux/elf.h | 24 +++- 1 file changed, 19 insertions(+), 5 deletions(-) === --- a/include/linux/elf.h +++ b/include/linux/elf.h @@ -1,9

[PATCH 06/10] add WEAK() for creating weak asm labels

2007-06-15 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- include/linux/linkage.h |6 ++ 1 file changed, 6 insertions(+) === --- a/include/linux/linkage.h +++ b/include/linux/linkage.h @@ -34,6 +34,12 @@ name:

[PATCH 00/10] paravirt/subarchitecture boot protocol

2007-06-15 Thread Jeremy Fitzhardinge
This series updates the boot protocol to 2.07 and uses it to implement paravirtual booting. This allows the bootloader to tell the kernel what kind of hardware/pseudo-hardware environment it's coming up under, and the kernel can use the appropriate boot sequence code. Specifically: - Update the

[PATCH 01/10] update boot spec to 2.07

2007-06-15 Thread Jeremy Fitzhardinge
e the uncompressed kernel vmlinux itself; it would only take small buildsystem changes to implement this. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederman" <[EMAIL PROTECTED]> Cc: H. Peter Anvin <[EMAIL PROTECTED]> Cc: Vivek Goyal <[EMAIL P

[PATCH 03/10] define ELF notes for adding to a boot image

2007-06-15 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: Vivek Goyal <[EMAIL PROTECTED]> --- include/linux/elf_boot.h | 15 +++ 1 file changed, 15 insertions(+) === --- /dev/null +++ b/include/linu

Re: [PATCH RFC 6/7] i386: make the bzImage payload an ELF file

2007-06-06 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > It doesn't if we simply declare that a certain chunk of memory is > available to it, for the case where it runs in the native configuration. > Since it doesn't have to support *any* ELF file, just the kernel one, > that's an option. > I suppose. But given that its alway

Re: [PATCH RFC 6/7] i386: make the bzImage payload an ELF file

2007-06-06 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > I was thinking prescriptive, having the decompressor read the output > stream and interpret it as ELF. I guess a descriptive approach could be > made to work, too (I haven't really thought about that avenue of > approach), but the prescriptive model seems more powerful, at

Re: [PATCH RFC 6/7] i386: make the bzImage payload an ELF file

2007-06-06 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > I still believe that we should provide, in effect, vmlinux as a > (compressed) ELF file rather than provide the intermediate stage. It > would reduce the complexity of testing (all information provided about a > stage have to be both guaranteed to even make sense in the fut

[PATCH RFC 6/7] i386: make the bzImage payload an ELF file

2007-06-06 Thread Jeremy Fitzhardinge
two cases, we generate abstracted versions of the object files which only contain the symbols we care about (generated with objcopy --strip-all --keep-symbol=X), and then include those symbol tables with ld -R. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederm

[PATCH RFC 4/7] define ELF notes for adding to a boot image

2007-06-06 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: Vivek Goyal <[EMAIL PROTECTED]> --- include/linux/elf_boot.h | 15 +++ 1 file changed, 15 insertions(+) === --- /dev/null +++ b/include/linu

[PATCH RFC 3/7] allow linux/elf.h to be included in assembler

2007-06-06 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- include/linux/elf.h | 24 +++- 1 file changed, 19 insertions(+), 5 deletions(-) === --- a/include/linux/elf.h +++ b/include/linux/elf.h @@ -1,9

[PATCH RFC 7/7] i386: paravirt boot sequence

2007-06-06 Thread Jeremy Fitzhardinge
ome paravirtualized environments, but inappropraite for others. 2. Check the hardware architecture, and dispatch to the appropriate kernel entrypoint. If the bootloader doesn't set this, then we simply do the normal boot sequence. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PRO

[PATCH RFC 5/7] i386: clean up bzImage generation

2007-06-06 Thread Jeremy Fitzhardinge
ggy.o, which cleans things up even more, since the .S file can also set the input and output_size symbols without further linker script hackery; it also removes a complete linker script. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederman" <[EM

[PATCH RFC 1/7] update boot spec to 2.07

2007-06-06 Thread Jeremy Fitzhardinge
if it wishes. This is not particularly well-defined yet; I just added it with the hope that it keeps HPA happy. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: "Eric W. Biederman" <[EMAIL PROTECTED]> Cc: H. Peter Anvin <[EMAIL PROTECTED]> Cc: Vivek Goyal <

[PATCH RFC 2/7] add WEAK() for creating weak asm labels

2007-06-06 Thread Jeremy Fitzhardinge
Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- include/linux/linkage.h |6 ++ 1 file changed, 6 insertions(+) === --- a/include/linux/linkage.h +++ b/include/linux/linkage.h @@ -34,6 +34,12 @@ name:

[PATCH RFC 0/7] proposed updates to boot protocol and paravirt booting

2007-06-06 Thread Jeremy Fitzhardinge
This series: 1. Updates the boot protocol to version 2.07 2. Clean up the existing build process, to get rid of tools/build and make the linker do more heavy lifting 3. Make the bzImage payload an ELF file. The bootloader can extract this as a naked ELF file by skipping over boot_params

[PATCH] paravirt: fix error handling in paravirt_disable_iospace

2007-06-06 Thread Jeremy Fitzhardinge
Make sure everything is backed out if it fails. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- arch/i386/kernel/paravirt.c |5 - 1 file changed, 4 insertions(+), 1 deletion(-) === --- a/arch/i386/

[PATCH] xen: fix xen-smp.patch: setup_runstate_info

2007-06-06 Thread Jeremy Fitzhardinge
Somehow an smp_processor_id() survived the transition to passing the cpu around. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: Jan Beulich <[EMAIL PROTECTED]> --- arch/i386/xen/time.c |2 +- 1 file changed, 1 insertion(+)

[PATCH UPDATE] xen: use iret directly where possible

2007-06-06 Thread Jeremy Fitzhardinge
self. If its within this range, it calls the iret critical section fixup, which adjusts the stack to deal with any unrestored registers, and then shifts the stack frame up to replace the previous invocation. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> --- arch/i386/kernel/a

Re: [Xen-devel] [patch 14/33] xen: xen time implementation

2007-06-06 Thread Jeremy Fitzhardinge
Andi Kleen wrote: >> I once had some code in there to do that, implemented in very boneheaded >> way with a spinlock to protect the "last time returned" variable. I >> expect there's a better way to implement it. >> > > But any per CPU setup likely needs this to avoid non monotonicity Yeah.

Re: [Xen-devel] [patch 14/33] xen: xen time implementation

2007-06-06 Thread Jeremy Fitzhardinge
Jan Beulich wrote: > Xen itself knows to deal with this (by using an error correction factor to > slow down the local [TSC-based] clock), but for the kernel such a situation > may be fatal: If clocksource->cycle_last was most recently set on a CPU > with shadow->tsc_to_nsec_mul sufficiently differe

Re: [Xen-devel] [patch 21/33] xen: Xen SMP guest support

2007-06-06 Thread Jeremy Fitzhardinge
Jan Beulich wrote: >> --- a/arch/i386/xen/time.c >> +++ b/arch/i386/xen/time.c >> @@ -105,17 +105,15 @@ static void get_runstate_snapshot(struct >> preempt_enable(); >> } >> >> -static void setup_runstate_info(void) >> +static void setup_runstate_info(int cpu) >> { >> struct vcpu_register

Re: [PATCH] paravirt: helper to disable all IO space

2007-06-05 Thread Jeremy Fitzhardinge
Jeremy Fitzhardinge wrote: > In a virtual environment, device drivers such as legacy IDE will waste > quite a lot of time probing for their devices which will never appear. > This helper function allows a paravirt implementation to lay claim to > the whole iomem and ioport space, there

[PATCH] paravirt: helper to disable all IO space

2007-06-05 Thread Jeremy Fitzhardinge
IO resources. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: Rusty Russell <[EMAIL PROTECTED]> diff -r 83c67f9402b5 arch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c Tue Jun 05 17:41:04 2007 -0700 +++ b/arch/i386/kernel/paravirt.c Tue Jun 05 18:17:2

[PATCH] xen: disable all non-virtual devices

2007-06-05 Thread Jeremy Fitzhardinge
A domU Xen environment has no non-virtual drivers, so make sure they're all disabled at once. This noticeably speeds up boot time. Signed-off-by: Jeremy Fitzhardinge <[EMAIL PROTECTED]> Cc: Rusty Russell <[EMAIL PROTECTED]> diff -r c79da0042c7d arch/i386/xen/setup.c --- a/arch

Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible

2007-06-04 Thread Jeremy Fitzhardinge
Andi Kleen wrote: > Ah I assumed the hypervisor would just check IF in ring 1 too. > It would certainly make this easier, but then the additional trap > of setting it would be also somewhat expensive agreed. > Xen doesn't do that because, while it could track sti/cli (expensively), iret and pop

Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible

2007-06-04 Thread Jeremy Fitzhardinge
Andi Kleen wrote: > If you stay cli you don't need that. Why is it that it has to enable > interrupts? > Bear in mind we're talking about running paravirt under Xen in ring 1. The cli/sti instructions don't control the event mask, so they're effectively expensive no-ops (they trap into the hy

Re: [Xen-devel] [PATCH RFC 1/3] virtio infrastructure

2007-06-04 Thread Jeremy Fitzhardinge
Santos, Jose Renato G wrote: > It seems that we will still need specific devices drivers > for each different virtualization flavor. For example, > we will still need to have a specific Xen netfront > device that talks to a backend device in dom0, using > page grants, and other Xen speci

<    1   2   3   4   5   6   7   8   9   10   >