Hi Linus, First attempt at git, so please pull carefully. I've just put the three i386 boot changes in the repo for the moment. If this works I'll pile on the 44 lguest patches. git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest.git Documentation/i386/boot.txt | 34 +++++++++++++++++++++++++++- arch/x86/boot/compressed/head_32.S | 15 ++++++++++- arch/x86/boot/compressed/misc_32.c | 3 ++ arch/x86/boot/header.S | 7 +++++- arch/x86/kernel/asm-offsets_32.c | 7 +++++ arch/x86/kernel/head_32.S | 44 +++++++++++++++++++++++++++++++++-- include/asm-x86/bootparam.h | 9 +++++- include/linux/linkage.h | 6 +++++ 8 files changed, 116 insertions(+), 9 deletions(-) commit f160a3a39ba7a5ac03a0eb64c25d3751c342e0e7 Author: Jeremy Fitzhardinge <jeremy@xensource.com> Date: Mon Oct 22 10:56:19 2007 +1000 i386: paravirt boot sequence This patch uses the updated boot protocol to do paravirtualized boot. If the boot version is >= 2.07, then it will do two things: 1. Check the bootparams loadflags to see if we should reload the segment registers and clear interrupts. This is appropriate for normal native boot and some 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 <jeremy@xensource.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: H. Peter Anvin <hpa@zytor.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> commit a706681568ed19f147ab78674388c5a0e6ab8c44 Author: Jeremy Fitzhardinge <jeremy@xensource.com> Date: Mon Oct 22 10:56:18 2007 +1000 add WEAK() for creating weak asm labels Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: H. Peter Anvin <hpa@zytor.com> commit 262ac2158778ac5937ae943d1d43f0adcff1a1d1 Author: Jeremy Fitzhardinge <jeremy@xensource.com> Date: Mon Oct 22 10:56:17 2007 +1000 update boot spec to 2.07 Proposed updates for version 2.07 of the boot protocol. This includes: load_flags.KEEP_SEGMENTS- flag to request/inhibit segment reloads hardware_subarch - what subarchitecture we're booting under hardware_subarch_data - per-architecture data The intention of these changes is to make booting a paravirtualized kernel work via the normal Linux boot protocol. The intention is that the bzImage payload can be a properly formed ELF file, so that the bootloader can use its ELF notes and Phdrs to get more metadata about the kernel and its requirements. The ELF file could be the uncompressed kernel vmlinux itself; it would only take small buildsystem changes to implement this. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: H. Peter Anvin <hpa@zytor.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Vivek Goyal <vgoyal@in.ibm.com>
On Tuesday 23 October 2007 12:28:32 Linus Torvalds wrote:> On Mon, 22 Oct 2007, Rusty Russell wrote: > > First attempt at git, so please pull carefully. I've just put the > > three i386 boot changes in the repo for the moment. If this works I'll > > pile on the 44 lguest patches. > > Well, it looked ok, but I had already merged the same patches through > Andrew, so when I pulled, I had no differences.Well, with that out the way, and some scatterlist fixups, please pull from git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest.git This should be fairly clean: 45 lguest patches including the more generic drivers (aimed to be used by KVM as well, and hopefully others) and the start of separation of arch-specific from general lguest code. Documentation/lguest/Makefile | 26 +- Documentation/lguest/lguest.c | 1629 ++++++++++++++++++--------------- Documentation/lguest/lguest.txt | 72 +- arch/i386/Kconfig | 32 +- arch/i386/Makefile | 3 + arch/x86/kernel/asm-offsets_32.c | 1 + arch/x86/lguest/Kconfig | 14 + arch/x86/lguest/Makefile | 1 + arch/x86/lguest/boot.c | 1070 ++++++++++++++++++++++ arch/x86/lguest/i386_head.S | 115 +++ arch/x86/xen/Kconfig | 5 +- drivers/Kconfig | 2 +- drivers/Makefile | 1 + drivers/block/Kconfig | 6 + drivers/block/Makefile | 2 +- drivers/block/lguest_blk.c | 421 --------- drivers/block/virtio_blk.c | 308 +++++++ drivers/char/Kconfig | 4 + drivers/char/Makefile | 2 +- drivers/char/hvc_lguest.c | 177 ---- drivers/char/virtio_console.c | 225 +++++ drivers/kvm/Kconfig | 4 + drivers/lguest/Kconfig | 13 +- drivers/lguest/Makefile | 10 +- drivers/lguest/core.c | 568 +----------- drivers/lguest/hypercalls.c | 177 ++--- drivers/lguest/interrupts_and_traps.c | 125 ++- drivers/lguest/io.c | 626 ------------- drivers/lguest/lg.h | 189 ++--- drivers/lguest/lguest.c | 1108 ---------------------- drivers/lguest/lguest_asm.S | 93 -- drivers/lguest/lguest_bus.c | 218 ----- drivers/lguest/lguest_device.c | 373 ++++++++ drivers/lguest/lguest_user.c | 138 +--- drivers/lguest/page_tables.c | 250 +++--- drivers/lguest/segments.c | 28 +- drivers/lguest/switcher.S | 350 ------- drivers/lguest/x86/core.c | 577 ++++++++++++ drivers/lguest/x86/switcher_32.S | 351 +++++++ drivers/net/Kconfig | 6 + drivers/net/Makefile | 2 +- drivers/net/lguest_net.c | 555 ----------- drivers/net/virtio_net.c | 435 +++++++++ drivers/virtio/Kconfig | 8 + drivers/virtio/Makefile | 2 + drivers/virtio/config.c | 13 + drivers/virtio/virtio.c | 189 ++++ drivers/virtio/virtio_ring.c | 313 +++++++ include/asm-x86/Kbuild | 3 + include/asm-x86/bootparam.h | 108 ++-- include/asm-x86/e820.h | 28 + Documentation/lguest/Makefile | 26 +- Documentation/lguest/lguest.c | 1629 ++++++++++++++++++--------------- Documentation/lguest/lguest.txt | 72 +- arch/i386/Kconfig | 32 +- arch/i386/Makefile | 3 + arch/x86/kernel/asm-offsets_32.c | 1 + arch/x86/lguest/Kconfig | 14 + arch/x86/lguest/Makefile | 1 + arch/x86/lguest/boot.c | 1070 ++++++++++++++++++++++ arch/x86/lguest/i386_head.S | 115 +++ arch/x86/xen/Kconfig | 5 +- drivers/Kconfig | 2 +- drivers/Makefile | 1 + drivers/block/Kconfig | 6 + drivers/block/Makefile | 2 +- drivers/block/lguest_blk.c | 421 --------- drivers/block/virtio_blk.c | 308 +++++++ drivers/char/Kconfig | 4 + drivers/char/Makefile | 2 +- drivers/char/hvc_lguest.c | 177 ---- drivers/char/virtio_console.c | 225 +++++ drivers/kvm/Kconfig | 4 + drivers/lguest/Kconfig | 13 +-
On Mon, 22 Oct 2007, Rusty Russell wrote:> > First attempt at git, so please pull carefully. I've just put the > three i386 boot changes in the repo for the moment. If this works I'll pile > on the 44 lguest patches.Well, it looked ok, but I had already merged the same patches through Andrew, so when I pulled, I had no differences. So I ended up unpulling, but not because there was anything *wrong* with your tree, just because the pull didn't give me anything but a slightly more complex history ;) Linus