Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Xen3 support [bouyer%NetBSD.org@localhost: CVS commit: src/sys/arch/xen]



Hi,
for those who don't read source-changes.
What's left to do:
1- write block and network front-end for domU kernel
2- write the missing pieces for interrupts and proper PCI support for
  dom0 kernel
3- port xentools30
4- write dom0 kernel support and block and network back-ends.

----- Forwarded message from Manuel Bouyer <bouyer%NetBSD.org@localhost> -----

Date: Sun, 15 Jan 2006 22:09:52 +0000 (UTC)
From: Manuel Bouyer <bouyer%NetBSD.org@localhost>
Subject: CVS commit: src/sys/arch/xen
To: source-changes%NetBSD.org@localhost
Reply-To: bouyer%NetBSD.org@localhost
X-Greylist: Sender DNS name whitelisted, not delayed by milter-greylist-1.6 
(chassiron.antioche.eu.org [IPv6:2001:7a8:242c:1::1]); Sun, 15 Jan 2006 
23:09:56 +0100 (MET)


Module Name:    src
Committed By:   bouyer
Date:           Sun Jan 15 22:09:52 UTC 2006

Modified Files:
        src/sys/arch/xen/conf: files.compat files.xen
        src/sys/arch/xen/i386: genassym.cf hypervisor_machdep.c identcpu.c
            locore.S machdep.c sys_machdep.c trap.c vector.S xen_machdep.c
            xen_shm_machdep.c
        src/sys/arch/xen/include: frameasm.h hypervisor.h segments.h xen.h
            xenpmap.h
        src/sys/arch/xen/include/xen-public: xen.h
        src/sys/arch/xen/include/xen3-public: arch-x86_32.h xen.h
        src/sys/arch/xen/x86: bus_space.c xen_bus_dma.c
        src/sys/arch/xen/xen: clock.c ctrl_if.c evtchn.c hypervisor.c
            pci_machdep.c pciide_machdep.c privcmd.c xencons.c xennetback.c

Log Message:
Snapshot of work in progress on NetBSD port to Xen3:
- kernel (both dom0 and domU) boot, console is functionnal and it can starts
  software from a ramdisk
- there is no driver front-end expect console for domU yet.
- dom0 can probe devices and ex(4) work when Xen3 is booted without acpi
  and apic support. But the on-board IDE doens't get interrupts.
  The PCI code still needs work (it's hardcoded to mode 1). Some of this
  code should be shared with ../x86
  The physical insterrupt code needs to get MPBIOS and ACPI support, and
  do interrupt routing to properly interract with Xen.
To enable Xen-3.0 support, add
options XEN3
to your kernel config file (this will disable Xen2 support)
Changes affecting Xen-2.0 support (no functionnal changes intended):
- get more constants from genassym for assembly code
- remove some unneeded registers move from start()
- map the shared info page from start(), and remove the pte = 0xffffffff hack
- vector.S: in hypervisor_callback() make sure %esi points to
  HYPERVISOR_shared_info before accessing the info page. Remplace some
  hand-written assembly with the equivalent macro defined in frameasm.h
- more debug code, dissabled by default.

while here added my copyright on some files I worked on in 2005.


To generate a diff of this commit:
cvs rdiff -r1.9 -r1.10 src/sys/arch/xen/conf/files.compat
cvs rdiff -r1.32 -r1.33 src/sys/arch/xen/conf/files.xen
cvs rdiff -r1.5 -r1.6 src/sys/arch/xen/i386/genassym.cf
cvs rdiff -r1.14 -r1.15 src/sys/arch/xen/i386/hypervisor_machdep.c \
    src/sys/arch/xen/i386/vector.S src/sys/arch/xen/i386/xen_machdep.c
cvs rdiff -r1.8 -r1.9 src/sys/arch/xen/i386/identcpu.c
cvs rdiff -r1.13 -r1.14 src/sys/arch/xen/i386/locore.S \
    src/sys/arch/xen/i386/xen_shm_machdep.c
cvs rdiff -r1.23 -r1.24 src/sys/arch/xen/i386/machdep.c
cvs rdiff -r1.4 -r1.5 src/sys/arch/xen/i386/sys_machdep.c
cvs rdiff -r1.7 -r1.8 src/sys/arch/xen/i386/trap.c
cvs rdiff -r1.3 -r1.4 src/sys/arch/xen/include/frameasm.h
cvs rdiff -r1.17 -r1.18 src/sys/arch/xen/include/hypervisor.h
cvs rdiff -r1.2 -r1.3 src/sys/arch/xen/include/segments.h
cvs rdiff -r1.18 -r1.19 src/sys/arch/xen/include/xen.h
cvs rdiff -r1.11 -r1.12 src/sys/arch/xen/include/xenpmap.h
cvs rdiff -r1.3 -r1.4 src/sys/arch/xen/include/xen-public/xen.h
cvs rdiff -r1.1.1.1 -r1.2 src/sys/arch/xen/include/xen3-public/arch-x86_32.h \
    src/sys/arch/xen/include/xen3-public/xen.h
cvs rdiff -r1.5 -r1.6 src/sys/arch/xen/x86/bus_space.c \
    src/sys/arch/xen/x86/xen_bus_dma.c
cvs rdiff -r1.15 -r1.16 src/sys/arch/xen/xen/clock.c
cvs rdiff -r1.11 -r1.12 src/sys/arch/xen/xen/ctrl_if.c
cvs rdiff -r1.17 -r1.18 src/sys/arch/xen/xen/evtchn.c \
    src/sys/arch/xen/xen/xennetback.c
cvs rdiff -r1.18 -r1.19 src/sys/arch/xen/xen/hypervisor.c
cvs rdiff -r1.6 -r1.7 src/sys/arch/xen/xen/pci_machdep.c
cvs rdiff -r1.4 -r1.5 src/sys/arch/xen/xen/pciide_machdep.c
cvs rdiff -r1.10 -r1.11 src/sys/arch/xen/xen/privcmd.c \
    src/sys/arch/xen/xen/xencons.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

----- End forwarded message -----
-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--



Home | Main Index | Thread Index | Old Index