Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/xen Merge the bouyer-xen2 branch. This add supports...



details:   https://anonhg.NetBSD.org/src/rev/0c176a269311
branches:  trunk
changeset: 574695:0c176a269311
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Wed Mar 09 22:39:19 2005 +0000

description:
Merge the bouyer-xen2 branch. This add supports for the Xen 2.0 virtual
machine kernel (both privileged and non-privileged domains), and remove support
for the old xen 1.2.

diffstat:

 sys/arch/xen/Makefile                                  |     4 +-
 sys/arch/xen/conf/GENERIC                              |   333 ----
 sys/arch/xen/conf/GENERIC.local                        |     6 -
 sys/arch/xen/conf/XEN                                  |   166 +-
 sys/arch/xen/conf/XEN-INSTALL                          |   179 ++
 sys/arch/xen/conf/XEN0                                 |   554 +++++++
 sys/arch/xen/conf/files.compat                         |     3 +-
 sys/arch/xen/conf/files.xen                            |    76 +-
 sys/arch/xen/conf/majors.xen                           |     3 +-
 sys/arch/xen/i386/autoconf.c                           |     7 +-
 sys/arch/xen/i386/gdt.c                                |     8 +-
 sys/arch/xen/i386/hypervisor_machdep.c                 |   222 +-
 sys/arch/xen/i386/identcpu.c                           |    23 +-
 sys/arch/xen/i386/locore.S                             |   195 +-
 sys/arch/xen/i386/machdep.c                            |    52 +-
 sys/arch/xen/i386/pmap.c                               |   552 +++++-
 sys/arch/xen/i386/spl.S                                |    23 +-
 sys/arch/xen/i386/sys_machdep.c                        |     6 +-
 sys/arch/xen/i386/trap.c                               |    14 +-
 sys/arch/xen/i386/vector.S                             |   235 ++-
 sys/arch/xen/i386/xen_machdep.c                        |   161 +-
 sys/arch/xen/i386/xen_shm_machdep.c                    |   227 ++
 sys/arch/xen/include/bus.h                             |     2 +
 sys/arch/xen/include/cpufunc.h                         |    19 +-
 sys/arch/xen/include/ctrl_if.h                         |   139 +
 sys/arch/xen/include/events.h                          |    46 -
 sys/arch/xen/include/evtchn.h                          |    67 +
 sys/arch/xen/include/frameasm.h                        |    24 +-
 sys/arch/xen/include/hypervisor-ifs/block.h            |   142 -
 sys/arch/xen/include/hypervisor-ifs/dom0_ops.h         |   263 ---
 sys/arch/xen/include/hypervisor-ifs/dom_mem_ops.h      |    57 -
 sys/arch/xen/include/hypervisor-ifs/hypervisor-if.h    |   379 ----
 sys/arch/xen/include/hypervisor-ifs/kbd.h              |    47 -
 sys/arch/xen/include/hypervisor-ifs/network.h          |   239 ---
 sys/arch/xen/include/hypervisor-ifs/vbd.h              |   130 -
 sys/arch/xen/include/hypervisor.h                      |   464 ++++-
 sys/arch/xen/include/if_xennetvar.h                    |    34 +-
 sys/arch/xen/include/isa_machdep.h                     |     2 +
 sys/arch/xen/include/pci_machdep.h                     |    85 +
 sys/arch/xen/include/pmap.h                            |    36 +-
 sys/arch/xen/include/vga_xenvar.h                      |    46 -
 sys/arch/xen/include/xbdvar.h                          |     6 +-
 sys/arch/xen/include/xen-public/arch-x86_32.h          |   165 ++
 sys/arch/xen/include/xen-public/arch-x86_64.h          |   158 ++
 sys/arch/xen/include/xen-public/dom0_ops.h             |   393 ++++
 sys/arch/xen/include/xen-public/event_channel.h        |   184 ++
 sys/arch/xen/include/xen-public/grant_table.h          |   274 +++
 sys/arch/xen/include/xen-public/io/blkif.h             |   138 +
 sys/arch/xen/include/xen-public/io/domain_controller.h |   601 +++++++
 sys/arch/xen/include/xen-public/io/netif.h             |   115 +
 sys/arch/xen/include/xen-public/physdev.h              |   102 +
 sys/arch/xen/include/xen-public/sched_ctl.h            |    93 +
 sys/arch/xen/include/xen-public/trace.h                |    55 +
 sys/arch/xen/include/xen-public/xen.h                  |   448 +++++
 sys/arch/xen/include/xen.h                             |    82 +-
 sys/arch/xen/include/xen_shm.h                         |    45 +
 sys/arch/xen/include/xenfunc.h                         |     3 +-
 sys/arch/xen/include/xenio.h                           |   116 +-
 sys/arch/xen/include/xenkbcvar.h                       |    49 -
 sys/arch/xen/include/xenpmap.h                         |   124 +-
 sys/arch/xen/stand/Makefile                            |     5 -
 sys/arch/xen/stand/xen12load/Makefile                  |   130 -
 sys/arch/xen/stand/xen12load/loadelf.c                 |   267 ---
 sys/arch/xen/stand/xen12load/start.S                   |    84 -
 sys/arch/xen/stand/xen12load/xenload.c                 |   136 -
 sys/arch/xen/stand/xen12load/xenload.h                 |    55 -
 sys/arch/xen/x86/bus_dma.c                             |  1259 ++++++++++++++++
 sys/arch/xen/x86/bus_space.c                           |    22 +-
 sys/arch/xen/x86/consinit.c                            |   110 +-
 sys/arch/xen/x86/intr.c                                |   695 +-------
 sys/arch/xen/xen/clock.c                               |    79 +-
 sys/arch/xen/xen/ctrl_if.c                             |   554 +++++++
 sys/arch/xen/xen/events.c                              |   194 --
 sys/arch/xen/xen/evtchn.c                              |   635 ++++++++
 sys/arch/xen/xen/hypervisor.c                          |   149 +-
 sys/arch/xen/xen/if_xennet.c                           |   789 +++++++--
 sys/arch/xen/xen/isa_machdep.c                         |   330 ++++
 sys/arch/xen/xen/machmem.c                             |   288 ---
 sys/arch/xen/xen/pci_machdep.c                         |   222 ++
 sys/arch/xen/xen/pcib.c                                |   204 ++
 sys/arch/xen/xen/pciide_machdep.c                      |    83 +
 sys/arch/xen/xen/privcmd.c                             |    65 +-
 sys/arch/xen/xen/xbd.c                                 |   821 +++++++---
 sys/arch/xen/xen/xbdback.c                             |   770 +++++++++
 sys/arch/xen/xen/xen_debug.c                           |     8 +-
 sys/arch/xen/xen/xencons.c                             |   219 ++-
 sys/arch/xen/xen/xenevt.c                              |   300 +++
 sys/arch/xen/xen/xennetback.c                          |   736 +++++++++
 88 files changed, 12607 insertions(+), 5023 deletions(-)

diffs (truncated from 21401 to 300 lines):

diff -r 9a4e88fc021a -r 0c176a269311 sys/arch/xen/Makefile
--- a/sys/arch/xen/Makefile     Wed Mar 09 22:28:52 2005 +0000
+++ b/sys/arch/xen/Makefile     Wed Mar 09 22:39:19 2005 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.1 2004/05/12 16:56:43 cl Exp $
+#      $NetBSD: Makefile,v 1.2 2005/03/09 22:39:19 bouyer Exp $
 
 # Makefile for xen tags file
 
@@ -32,6 +32,6 @@
            (cd $$i && rm -f tags; ln -s ../tags tags); done
 
 
-SUBDIR=        compile include stand
+SUBDIR=        compile include
 
 .include <bsd.subdir.mk>
diff -r 9a4e88fc021a -r 0c176a269311 sys/arch/xen/conf/GENERIC
--- a/sys/arch/xen/conf/GENERIC Wed Mar 09 22:28:52 2005 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-# $NetBSD: GENERIC,v 1.24 2005/02/25 13:46:51 simonb Exp $
-# NetBSD: GENERIC,v 1.596 2004/04/07 13:13:59 augustss Exp 
-#
-# GENERIC machine description file
-#
-# This machine description file is used to generate the default NetBSD
-# kernel.  The generic kernel does not include all options, subsystems
-# and device drivers, but should be useful for most applications.
-#
-# The machine description file can be customised for your specific
-# machine to reduce the kernel size and improve its performance.
-#
-# For further information on compiling NetBSD kernels, see the config(8)
-# man page.
-#
-# For further information on hardware support for this architecture, see
-# the intro(4) man page.  For further information about kernel options
-# for this architecture, see the options(4) man page.  For an explanation
-# of each device driver in this file see the section 4 man page for the
-# device.
-
-include        "arch/xen/conf/std.xen"
-
-options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
-
-#ident                 "GENERIC-$Revision: 1.24 $"
-
-maxusers       32              # estimated number of users
-
-#
-options                XEN
-options                DOM0OPS
-
-# CPU support.  At least one is REQUIRED.
-options        I686_CPU
-
-# CPU-related options.
-#options       VM86            # virtual 8086 emulation
-#options       USER_LDT        # user-settable LDT; used by WINE
-
-#options       MTRR            # memory-type range register syscall support
-# doesn't work with MP just yet..
-#options       PERFCTRS        # performance-monitoring counters support
-
-# delay between "rebooting ..." message and hardware reset, in milliseconds
-#options       CPURESET_DELAY=2000
-
-# This option allows you to force the Xen virtual console
-#options       CONSDEVNAME="\"xencons\""
-#options       CONS_OVERRIDE   # Always use above! independent of commandline
-
-# Standard system options
-
-options        INSECURE        # disable kernel security levels - X needs this
-
-options        RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
-options        NTP             # NTP phase/frequency locked loop
-#options       NO_TSC_TIME     # Don't use TSC microtime, even if available.
-                               # Improves time behavior under VMware.
-
-options        KTRACE          # system call tracing via ktrace(1)
-options        SYSTRACE        # system call vetting via systrace(1)
-
-options        SYSVMSG         # System V-like message queues
-options        SYSVSEM         # System V-like semaphores
-#options       SEMMNI=10       # number of semaphore identifiers
-#options       SEMMNS=60       # number of semaphores in system
-#options       SEMUME=10       # max number of undo entries per process
-#options       SEMMNU=30       # number of undo structures in system
-options        SYSVSHM         # System V-like memory sharing
-#options       SHMMAXPGS=2048  # 2048 pages is the default
-options        P1003_1B_SEMAPHORE      # p1003.1b semaphore support
-
-options        LKM             # loadable kernel modules
-
-options        USERCONF        # userconf(4) support
-#options       PIPE_SOCKETPAIR # smaller, but slower pipe(2)
-options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel
-
-# Beep when it is safe to power down the system (requires sysbeep)
-#options       BEEP_ONHALT
-# Some tunable details of the above feature (default values used below)
-#options       BEEP_ONHALT_COUNT=3     # Times to beep
-#options       BEEP_ONHALT_PITCH=1500  # Default frequency (in Hz)
-#options       BEEP_ONHALT_PERIOD=250  # Default duration (in msecs)
-
-# Enable experimental buffer queue strategy for better responsiveness under
-# high disk I/O load. Likely stable but not yet the default.
-#options       NEW_BUFQ_STRATEGY
-
-# Diagnostic/debugging support options
-#options       DIAGNOSTIC      # expensive kernel consistency checks
-#options       DEBUG           # expensive debugging checks/support
-#options       KMEMSTATS       # kernel memory statistics (vmstat -m)
-options        DDB             # in-kernel debugger
-#options       DDB_ONPANIC=1   # see also sysctl(8): `ddb.onpanic'
-options        DDB_HISTORY_SIZE=512    # enable history editing in DDB
-#options       KGDB            # remote debugger
-#options       KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
-#makeoptions   DEBUG="-g"      # compile full symbol table
-
-# Compatibility options
-options        COMPAT_NOMID    # NetBSD 0.8, 386BSD, and BSDI
-options        COMPAT_09       # NetBSD 0.9
-options        COMPAT_10       # NetBSD 1.0
-options        COMPAT_11       # NetBSD 1.1
-options        COMPAT_12       # NetBSD 1.2, 386BSD, and BSDI
-options        COMPAT_13       # NetBSD 1.3, 386BSD, and BSDI
-options        COMPAT_14       # NetBSD 1.4
-options        COMPAT_15       # NetBSD 1.5
-options        COMPAT_16       # NetBSD 1.6
-options        COMPAT_20       # NetBSD 2.0
-options        COMPAT_43       # 4.3BSD, 386BSD, and BSDI
-options        COMPAT_386BSD_MBRPART # recognize old partition ID
-#options       TCP_COMPAT_42   # 4.2BSD TCP/IP bug compat. Not recommended.
-
-options        COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
-options        COMPAT_SVR4     # binary compatibility with SVR4
-options        COMPAT_IBCS2    # binary compatibility with SCO and ISC
-options        COMPAT_LINUX    # binary compatibility with Linux
-options        COMPAT_FREEBSD  # binary compatibility with FreeBSD
-#options       COMPAT_MACH     # binary compatibility with Mach binaries
-#options       COMPAT_DARWIN   # binary compatibility with Darwin binaries
-#options       EXEC_MACHO      # exec MACH-O binaries
-#options       COMPAT_PECOFF   # kernel support to run Win32 apps
-options                COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
-
-# File systems
-file-system    FFS             # UFS
-file-system    EXT2FS          # second extended file system (linux)
-file-system    LFS             # log-structured file system
-file-system    MFS             # memory file system
-file-system    NFS             # Network File System client
-file-system    NTFS            # Windows/NT file system (experimental)
-file-system    CD9660          # ISO 9660 + Rock Ridge file system
-file-system    MSDOSFS         # MS-DOS file system
-file-system    FDESC           # /dev/fd
-file-system    KERNFS          # /kern
-file-system    NULLFS          # loopback file system
-file-system    OVERLAY         # overlay file system
-file-system    PORTAL          # portal filesystem (still experimental)
-file-system    PROCFS          # /proc
-file-system    UMAPFS          # NULLFS + uid and gid remapping
-file-system    UNION           # union file system
-file-system    CODA            # Coda File System; also needs vcoda (below)
-file-system    SMBFS           # experimental - CIFS; also needs nsmb (below)
-
-# File system options
-options        QUOTA           # UFS quotas
-#options       FFS_EI          # FFS Endian Independent support
-options        SOFTDEP         # FFS soft updates support.
-#options       UFS_DIRHASH     # UFS Large Directory Hashing - Experimental
-options        NFSSERVER       # Network File System server
-#options       FFS_NO_SNAPSHOT # ffs snapshots
-#options       EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
-                               # immutable) behave as system flags.
-
-# Networking options
-#options       GATEWAY         # packet forwarding
-options        INET            # IP + ICMP + TCP + UDP
-options        INET6           # IPV6
-#options       IPSEC           # IP security
-#options       IPSEC_ESP       # IP security (encryption part; define w/IPSEC)
-#options       IPSEC_DEBUG     # debug for IP security
-#options       MROUTING        # IP multicast routing
-#options       PIM             # Protocol Independent Multicast
-options        NS              # XNS
-#options       NSIP            # XNS tunneling over IP
-options        ISO,TPIP        # OSI
-#options       EON             # OSI tunneling over IP
-options        CCITT,LLC,HDLC  # X.25
-options        NETATALK        # AppleTalk networking protocols
-options        PPP_BSDCOMP     # BSD-Compress compression support for PPP
-options        PPP_DEFLATE     # Deflate compression support for PPP
-options        PPP_FILTER      # Active filter support for PPP (requires bpf)
-options        PFIL_HOOKS      # pfil(9) packet filter hooks
-options        IPFILTER_LOG    # ipmon(8) log support
-#options       IPFILTER_DEFAULT_BLOCK  # block all packets by default
-#options       TCP_DEBUG       # Record last TCP_NDEBUG packets with SO_DEBUG
-
-#options       ALTQ            # Manipulate network interfaces' output queues
-#options       ALTQ_BLUE       # Stochastic Fair Blue
-#options       ALTQ_CBQ        # Class-Based Queueing
-#options       ALTQ_CDNR       # Diffserv Traffic Conditioner
-#options       ALTQ_FIFOQ      # First-In First-Out Queue
-#options       ALTQ_FLOWVALVE  # RED/flow-valve (red-penalty-box)
-#options       ALTQ_HFSC       # Hierarchical Fair Service Curve
-#options       ALTQ_LOCALQ     # Local queueing discipline
-#options       ALTQ_PRIQ       # Priority Queueing
-#options       ALTQ_RED        # Random Early Detection
-#options       ALTQ_RIO        # RED with IN/OUT
-#options       ALTQ_WFQ        # Weighted Fair Queueing
-
-options        NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM,NFS_BOOT_BOOTSTATIC
-#options       NFS_BOOTSTATIC_MYIP="\"169.254.1.2\""
-#options       NFS_BOOTSTATIC_GWIP="\"169.254.1.1\""
-#options       NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
-#options       NFS_BOOTSTATIC_SERVADDR="\"169.254.1.1\""
-#options       NFS_BOOTSTATIC_SERVER="\"server:/path/to/root\""
-
-#
-# wscons options
-#
-# builtin terminal emulations
-#options       WSEMUL_SUN              # sun terminal emulation
-options        WSEMUL_VT100            # VT100 / VT220 emulation
-# different kernel output - see dev/wscons/wsdisplayvar.h
-options        WS_KERNEL_FG=WSCOL_GREEN
-#options       WS_KERNEL_BG=WSCOL_BLACK
-# compatibility to other console drivers
-options        WSDISPLAY_COMPAT_PCVT           # emulate some ioctls
-options        WSDISPLAY_COMPAT_SYSCONS        # emulate some ioctls
-options        WSDISPLAY_COMPAT_USL            # VT handling
-options        WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
-# see dev/pckbc/wskbdmap_mfii.c for implemented layouts
-#options       PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
-# allocate a number of virtual screens at autoconfiguration time
-#options       WSDISPLAY_DEFAULTSCREENS=4
-# use a large software cursor that doesn't blink
-options        PCDISPLAY_SOFTCURSOR
-# modify the screen type of the console; defaults to "80x25"
-#options       VGA_CONSOLE_SCREENTYPE="\"80x24\""
-# work around a hardware bug that loaded fonts don't work; found on ATI cards
-#options       VGA_CONSOLE_ATI_BROKEN_FONTSEL
-# the following enables some functions to get mouse console support.
-# if you want a really secure system, it may be better not to enable them,
-# see wsmoused(8), section SECURITY CONSIDERATIONS for more info.
-#options       WSDISPLAY_CHARFUNCS             # mouse console support
-# enable VGA raster mode capable of displaying multilingual text on console
-#options       VGA_RASTERCONSOLE
-
-# Kernel root file system and dump configuration.
-config         netbsd  root on ? type ?
-#config                netbsd  root on wd0a type ffs
-#config                netbsd  root on ? type nfs
-
-#
-# Device configuration
-#
-
-mainbus0 at root
-
-cpu* at mainbus?
-
-hypervisor*    at mainbus?             # Xen hypervisor
-
-npx0           at hypervisor?          # x86 math coprocessor
-
-xencons*       at hypervisor?          # Xen virtual console
-xennet*        at hypervisor?          # Xen virtual network interface
-
-xbd*           at hypervisor?          # Xen virtual block device
-wd*            at hypervisor?          # Xen vbd (wd identity)
-sd*            at hypervisor?          # Xen vbd (sd identity)
-cd*            at hypervisor?          # Xen vbd (cd identity)
-
-xenkbc*        at hypervisor?          # Xen Keyboard/Mouse interface
-pckbd*         at xenkbc?              # Keyboard
-pms*           at xenkbc?              # PS/2 Mouse for wsmouse
-vga*           at hypervisor?          # Xen VGA display
-
-wskbd*         at pckbd? console ?
-wsdisplay*     at vga? console ?
-wsmouse*       at pms? mux 0
-
-
-# Pull in optional local configuration
-include        "arch/xen/conf/GENERIC.local"
-
-
-# Pseudo-Devices
-
-pseudo-device  crypto          # opencrypto framework
-
-# disk/mass storage pseudo-devices
-pseudo-device  ccd             4       # concatenated/striped disk devices
-#pseudo-device cgd             4       # cryptographic disk devices
-pseudo-device  raid            8       # RAIDframe disk driver
-options        RAID_AUTOCONFIG         # auto-configuration of RAID components



Home | Main Index | Thread Index | Old Index