Subject: Xen3 support [bouyer@NetBSD.org: CVS commit: src/sys/arch/xen]
To: None <port-xen@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-xen
Date: 01/16/2006 00:04:51
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> -----
Date: Sun, 15 Jan 2006 22:09:52 +0000 (UTC)
From: Manuel Bouyer <bouyer@NetBSD.org>
Subject: CVS commit: src/sys/arch/xen
To: source-changes@NetBSD.org
Reply-To: bouyer@NetBSD.org
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>
NetBSD: 26 ans d'experience feront toujours la difference
--