I would like to update on the status of x86-64 xenolinux, but I have sent the patches below to Ian, and expecting that it will appear soon in the BK tree. These patches should be sufficient for building and running x86-64 xenolinux. We''ve been working on x86-64 support for xen, especially xenonlinux. The initial code (based on 2.6.10) was available weeks ago, but we needed to rebase it to 2.6.11, which uses 4-level page tables, _right before_ we wanted to send the code ;-) That required more changes (thus pushed it out), and all other recent changes (virtual IOPL, cleaner HYPERVISOR_mmu_update and multicall) were also added in the meantime. Good news is that now 2.6.11-based x86-64 xenolinux supports more than 512GB for users as the native x86-64 Linux does. I would like to thank very much Ian Pratt, Keir Fraser and Christian Limpach for helping us do this, and we will continue to improve x86-64 xenolinux with you. Jun Nakajima Intel Open Source Technology Center ---- arch/x86/mm.c | 12 +++++++++++- arch/x86/x86_64/entry.S | 19 +++++++++++++++++-- arch/x86/x86_64/mm.c | 6 +++--- include/public/xen.h | 3 +++ 4 files changed, 34 insertions(+), 6 deletions(-) Makefile | 10 linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_i386 | 1090 +++++++ linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_64 | 703 +++++ linux-2.6.11-xen-sparse/arch/xen/configs/xenU_defconfig_i386 | 522 +++ linux-2.6.11-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 | 513 +++ linux-2.6.11-xen-sparse/arch/xen/x86_64/Kconfig | 463 +++ linux-2.6.11-xen-sparse/arch/xen/x86_64/Makefile | 92 linux-2.6.11-xen-sparse/arch/xen/x86_64/defconfig | 1249 +++++++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/Makefile | 61 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/asm-offsets.c | 70 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/e820.c | 533 +++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/early_printk.c | 240 + linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/entry.S | 1157 ++++++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S | 207 + linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head64.c | 132 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/init_task.c | 49 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/ioport.c | 69 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/irq.c | 105 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/ldt.c | 273 + linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/pci-dma.c | 284 ++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/pci-nommu.c | 96 linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/process.c | 716 +++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/setup.c | 1384 ++++++++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/setup64.c | 350 ++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/signal.c | 493 +++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/smp.c | 411 ++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/smpboot.c | 958 ++++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/time.c | 840 ++++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/traps.c | 973 +++++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c | 190 + linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/x8664_ksyms.c | 223 + linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/Makefile | 26 linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/fault.c | 591 ++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/hypervisor.c | 645 ++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/init.c | 941 ++++++ linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/ioremap.c | 474 +++ linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/pageattr.c | 248 + linux-2.6.11-xen-sparse/arch/xen/x86_64/pci/Makefile | 41 linux-2.6.11-xen-sparse/arch/xen/x86_64/pci/Makefile-BUS | 22 linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/hypercall.h | 498 +++ linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/arch_hooks.h | 27 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/bootsetup.h | 41 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/desc.h | 228 + linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/dma-mapping.h | 136 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/fixmap.h | 115 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/floppy.h | 204 + linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h | 504 +++ linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/io.h | 365 ++ linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/irq.h | 36 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/io_ports.h | 30 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/irq_vectors. h | 137 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/mach_time.h | 122 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/mach_timer.h | 48 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/setup_arch_p ost.h | 47 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/setup_arch_p re.h | 5 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/smpboot_hook s.h | 59 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mmu_context.h | 77 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/page.h | 228 + linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/param.h | 22 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/pci.h | 148 + linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/pda.h | 85 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h | 185 + linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h | 527 +++ linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/processor.h | 474 +++ linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/ptrace.h | 119 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/segment.h | 47 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/smp.h | 154 + linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/synch_bitops.h | 85 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/system.h | 405 ++ linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/timer.h | 64 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/tlbflush.h | 97 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/vga.h | 20 linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/xor.h | 328 ++ patches/linux-2.6.11/x86_64-linux.patch | 56 75 files changed, 23163 insertions(+), 5 deletions(-) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, 1 Apr 2005, Nakajima, Jun wrote:> I would like to update on the status of x86-64 xenolinux, but I have > sent the patches below to Ian, and expecting that it will appear soon in > the BK tree. These patches should be sufficient for building and running > x86-64 xenolinux.This is great news! I will add x86-64 Xen support to Fedora Rawhide soon, probably just after Fedora Core 4 test 2 has shipped. -- "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Friday 01 April 2005 12:31, Nakajima, Jun wrote:> I would like to update on the status of x86-64 xenolinux, but I have > sent the patches below to Ian, and expecting that it will appear soon > in the BK tree. These patches should be sufficient for building and > running x86-64 xenolinux.Jun, thanks for the patches. I am having some trouble compiling a kernel. Did you have any issues like this: CC arch/xen/x86_64/kernel/asm-offsets.s In file included from include/asm-generic/pgtable-nopmd.h:6, from include/asm-xen/hypervisor.h:43, from include/asm-xen/asm/system.h:8, from include/asm-xen/asm/processor.h:19, from include/linux/spinlock.h:16, from include/linux/capability.h:45, from include/linux/sched.h:7, from arch/xen/x86_64/kernel/asm-offsets.c:7: include/asm-generic/pgtable-nopud.h:11: error: conflicting types for ''pud_t'' include/asm-xen/asm/page.h:87: error: previous declaration of ''pud_t'' was here In file included from include/asm-xen/hypervisor.h:43, from include/asm-xen/asm/system.h:8, from include/asm-xen/asm/processor.h:19, from include/linux/spinlock.h:16, from include/linux/capability.h:45, from include/linux/sched.h:7, from arch/xen/x86_64/kernel/asm-offsets.c:7: include/asm-generic/pgtable-nopmd.h:13: error: conflicting types for ''pmd_t'' include/asm-xen/asm/page.h:86: error: previous declaration of ''pmd_t'' was here In file included from include/asm-xen/asm/system.h:8, from include/asm-xen/asm/processor.h:19, from include/linux/spinlock.h:16, from include/linux/capability.h:45, from include/linux/sched.h:7, from arch/xen/x86_64/kernel/asm-offsets.c:7: include/asm-xen/hypervisor.h: In function `HYPERVISOR_update_va_mapping'': include/asm-xen/hypervisor.h:477: error: structure has no member named `pte_low'' include/asm-xen/hypervisor.h:483: error: structure has no member named `pte_low'' include/asm-xen/hypervisor.h: In function `HYPERVISOR_update_va_mapping_otherdomain'': include/asm-xen/hypervisor.h:579: error: structure has no member named `pte_low'' In file included from include/asm-xen/asm/processor.h:19, from include/linux/spinlock.h:16, from include/linux/capability.h:45, from include/linux/sched.h:7, from arch/xen/x86_64/kernel/asm-offsets.c:7: include/asm-xen/asm/system.h: In function `wbinvd'': include/asm-xen/asm/system.h:182: error: `MMU_EXTENDED_COMMAND'' undeclared (first use in this function) include/asm-xen/asm/system.h:182: error: (Each undeclared identifier is reported only once include/asm-xen/asm/system.h:182: error: for each function it appears in.) include/asm-xen/asm/system.h:184: error: too few arguments to function `HYPERVISOR_mmu_update'' make[1]: *** [arch/xen/x86_64/kernel/asm-offsets.s] Error 1 make: *** [arch/xen/x86_64/kernel/asm-offsets.s] Error 2 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> > I would like to update on the status of x86-64 xenolinux, > but I have > > sent the patches below to Ian, and expecting that it will > appear soon > > in the BK tree. These patches should be sufficient for building and > > running > > x86-64 xenolinux. > > This is great news! > > I will add x86-64 Xen support to Fedora Rawhide soon, > probably just after Fedora Core 4 test 2 has shipped.Hold on guys -- this is very much a work in progress! There are still some bits missing after the big merge, and even once Jun''s got it compiling again we''re at least a couple of weeks away from wanting to let real users loose on it, and probably at least six weeks before its fully functional with migration etc. TODO: Fix compile, get it booting as dom0 again Testing with LTP, SDET, lmbench etc Code cleanup, sync up with latest i386 improvements Enable bulk pte update optimisations Port user space domain builder Port migration (shadow page tables) Best, Ian _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel