# $NetBSD: QEMU,v 1.14 2007/12/31 15:31:56 ad Exp $ # # QEMU machine description file # # Machine description trimmed to support a subset of the hardware emulated # by QEMU that works fine from NetBSD. MI options have been kept in this # file, but most MD ones have been removed. # include "arch/i386/conf/std.i386" options INCLUDE_CONFIG_FILE # embed config file in kernel binary #ident "QEMU-$Revision: 1.14 $" maxusers 32 # estimated number of users makeoptions CPUFLAGS="-march=pentiumpro -mtune=pentiumpro" # CPU-related options. #options MATH_EMULATE # floating point emulation options VM86 # virtual 8086 emulation options USER_LDT # user-settable LDT; used by WINE # insert delay no-ops in interrupts; recommended on very old machines #options PIC_DELAY options MTRR # memory-type range register syscall support # doesn't work with MP just yet.. #options PERFCTRS # performance-monitoring counters support options MULTIBOOT # Multiboot support (see multiboot(8)) # delay between "rebooting ..." message and hardware reset, in milliseconds #options CPURESET_DELAY=2000 # This option allows you to force a serial console at the specified # I/O address. see console(4) for details. #options CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600 # you don't want the option below ON iff you are using the # serial console option of the new boot strap code. #options CONS_OVERRIDE # Always use above! independent of boot info # The following options override the memory sizes passed in from the boot # block. Use them *only* if the boot block is unable to determine the correct # values. Note that the BIOS may *correctly* report less than 640k of base # memory if the extended BIOS data area is located at the top of base memory # (as is the case on most recent systems). #options REALBASEMEM=639 # size of base memory (in KB) #options REALEXTMEM=15360 # size of extended memory (in KB) # 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 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 BUFQ_READPRIO #options BUFQ_PRIOCSCAN # 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_30 # NetBSD 3.0 options COMPAT_40 # NetBSD 4.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_NDIS # NDIS network driver #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 PTYFS # /dev/ptm support file-system TMPFS # Efficient memory file-system #file-system UDF # experimental - OSTA UDF CD/DVD file-system # File system options options QUOTA # UFS quotas #options FFS_EI # FFS Endian Independent support options SOFTDEP # FFS soft updates support. # Note that UFS_DIRHASH is suspected of causing kernel memory corruption. # It is not recommended for general use. #options UFS_DIRHASH # UFS Large Directory Hashing - Experimental options NFSSERVER # Network File System server #options FFS_NO_SNAPSHOT # No FFS snapshot support #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_NAT_T # IPsec NAT traversal (NAT-T) #options IPSEC_DEBUG # debug for IP security #options MROUTING # IP multicast routing #options PIM # Protocol Independent Multicast options ISO,TPIP # OSI #options EON # OSI tunneling over IP 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_LOOKUP # ippool(8) 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 # These options enable verbose messages for several subsystems. # Warning, these may compile large string tables into the kernel! options PCIVERBOSE # verbose PCI device autoconfig messages #options PCI_CONFIG_DUMP # verbosely dump PCI config space options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM # # wscons options # # builtin terminal emulations #options WSEMUL_SUN # sun terminal emulation options WSEMUL_VT100 # VT100 / VT220 emulation # customization of console and kernel output - see dev/wscons/wsdisplayvar.h options WSDISPLAY_CUSTOM_OUTPUT # color customization from wsconsctl(8) #options WS_DEFAULT_FG=WSCOL_WHITE #options WS_DEFAULT_BG=WSCOL_BLACK #options WS_DEFAULT_COLATTR="(0)" #options WS_DEFAULT_MONOATTR="(0)" options WS_KERNEL_FG=WSCOL_GREEN #options WS_KERNEL_BG=WSCOL_BLACK #options WS_KERNEL_COLATTR="" #options WS_KERNEL_MONOATTR="" # customization of console border color options WSDISPLAY_CUSTOM_BORDER # custom border colors via wsconsctl(8) #options WSDISPLAY_BORDER_COLOR=WSCOL_BLUE # default color # 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 #options WSKBD_EVENT_AUTOREPEAT # auto repeat in event mode #options WSKBD_USONLY # strip off non-US keymaps # don't attach pckbd as the console if no PS/2 keyboard is found options PCKBD_CNATTACH_MAY_FAIL # see dev/pckbport/wskbdmap_mfii.c for implemented layouts #options PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" # for pckbd driver #options UKBD_LAYOUT="(KB_DE | KB_NODEAD)" # for ukbd driver # 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 # console scrolling support. options WSDISPLAY_SCROLLSUPPORT # enable VGA raster mode capable of displaying multilingual text on console #options VGA_RASTERCONSOLE # enable splash screen support; requires hw driver support #options SPLASHSCREEN #options SPLASHSCREEN_PROGRESS # Kernel root file system and dump configuration. config netbsd root on ? type ? #config netbsd root on sd0a type ffs #config netbsd root on ? type nfs # # Device configuration # mainbus0 at root cpu* at mainbus? apm0 at mainbus0 # Advanced power management # Tuning for power management, see apm(4) for more details. #options APM_NO_IDLE # Don't call BIOS CPU idle function #options APM_V10_ONLY # Use only the APM 1.0 calls #options APM_NO_POWEROFF # Don't power off on halt(8) #options APM_POWER_PRINT # Print stats on the console #options APM_DISABLE_INTERRUPTS=0 # Don't disable interrupts # Basic Bus Support # PCI bus support pci* at mainbus? bus ? # PCI bridges pchb* at pci? dev ? function ? # PCI-Host bridges pcib* at pci? dev ? function ? # PCI-ISA bridges # ISA bus support isa0 at pcib? # ISA Plug-and-Play bus support isapnp0 at isa? # Coprocessor Support # Math Coprocessor support npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor # Console Devices # wscons pckbc0 at isa? # pc keyboard controller pckbd* at pckbc? # PC keyboard pms* at pckbc? # PS/2 mouse for wsmouse #options PMS_DISABLE_POWERHOOK # Disable PS/2 reset on resume vga* at pci? dev ? function ? wsdisplay* at vga? console ? wskbd* at pckbd? console ? wsmouse* at pms? mux 0 # VESA framebuffer console #options KVM86 # required for vesabios #vesabios* at vesabiosbus? #vesafb* at vesabios? #options VESAFB_WIDTH=640 #options VESAFB_HEIGHT=480 #options VESAFB_DEPTH=8 #options VESAFB_PM # power management support #wsdisplay* at vesafb? console ? attimer0 at isa? pcppi0 at isa? sysbeep0 at pcppi? # Serial Devices # ISA serial interfaces com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports # Parallel Printer Interfaces # ISA parallel printer interfaces lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports # IDE and related devices # PCI IDE controllers - see pciide(4) for supported hardware. # The 0x0001 flag force the driver to use DMA, even if the driver doesn't know # how to set up DMA modes for this chip. This may work, or may cause # a machine hang with some controllers. piixide* at pci? dev ? function ? # Intel IDE controllers # ATA (IDE) bus support atabus* at ata? # IDE drives # Flags are used only with controllers that support DMA operations # and mode settings (e.g. some pciide controllers) # The lowest order four bits (rightmost digit) of the flags define the PIO # mode to use, the next set of four bits the DMA mode and the third set the # UltraDMA mode. For each set of four bits, the 3 lower bits define the mode # to use, and the last bit must be 1 for this setting to be used. # For DMA and UDMA, 0xf (1111) means 'disable'. # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'. # (0xc=1100, 0xa=1010, 0xf=1111) # 0x0000 means "use whatever the drive claims to support". wd* at atabus? drive ? flags 0x0000 # ATAPI bus support atapibus* at atapi? # ATAPI devices # flags have the same meaning as for IDE drives. cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives # Miscellaneous mass storage devices # ISA floppy fdc0 at isa? port 0x3f0 irq 6 drq 2 # standard PC floppy controllers fd* at fdc? drive ? # the drives themselves # Network Interfaces # PCI network interfaces ne* at pci? dev ? function ? # NE2000-compatible Ethernet # Audio Devices # PCI audio devices eap* at pci? dev ? function ? # Ensoniq AudioPCI # ISA audio devices sb0 at isa? port 0x220 irq 5 drq 1 drq2 5 # SoundBlaster # Audio support audio* at audiobus? # MIDI support midi* at midibus? midi* at pcppi? # MIDI interface to the PC speaker # The spkr driver provides a simple tone interface to the built in speaker. spkr0 at pcppi? # PC speaker # Pull in optional local configuration include "arch/i386/conf/GENERIC.local" # Pseudo-Devices pseudo-device crypto # /dev/crypto device pseudo-device swcrypto # software crypto implementation # 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 # Options to enable various other RAIDframe RAID types. #options RF_INCLUDE_EVENODD=1 #options RF_INCLUDE_RAID5_RS=1 #options RF_INCLUDE_PARITYLOGGING=1 #options RF_INCLUDE_CHAINDECLUSTER=1 #options RF_INCLUDE_INTERDECLUSTER=1 #options RF_INCLUDE_PARITY_DECLUSTERING=1 #options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 pseudo-device fss 4 # file system snapshot device pseudo-device md 1 # memory disk device (ramdisk) pseudo-device vnd # disk-like interface to files options VND_COMPRESSION # compressed vnd(4) # network pseudo-devices pseudo-device bpfilter # Berkeley packet filter #pseudo-device carp # Common Address Redundancy Protocol pseudo-device ipfilter # IP filter (firewall) and NAT pseudo-device loop # network loopback pseudo-device ppp # Point-to-Point Protocol pseudo-device pppoe # PPP over Ethernet (RFC 2516) pseudo-device sl # Serial Line IP pseudo-device strip # Starmode Radio IP (Metricom) pseudo-device irframetty # IrDA frame line discipline pseudo-device tap # virtual Ethernet pseudo-device tun # network tunneling over tty pseudo-device gre # generic L3 over IP tunnel pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) #pseudo-device faith # IPv[46] tcp relay translation i/f pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation pseudo-device vlan # IEEE 802.1q encapsulation pseudo-device bridge # simple inter-network bridging #options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too #pseudo-device pf # PF packet filter #pseudo-device pflog # PF log if # miscellaneous pseudo-devices pseudo-device pty # pseudo-terminals pseudo-device sequencer 1 # MIDI sequencer # rnd works; RND_COM does not on port i386 yet. pseudo-device rnd # /dev/random and in-kernel generator #options RND_COM # use "com" randomness as well (BROKEN) pseudo-device clockctl # user control of clock subsystem pseudo-device ksyms # /dev/ksyms # a pseudo device needed for Coda # also needs CODA (above) pseudo-device vcoda 4 # coda minicache <-> venus comm. # a pseudo device needed for SMBFS pseudo-device nsmb # experimental - SMB requester # wscons pseudo-devices pseudo-device wsmux # mouse & keyboard multiplexor pseudo-device wsfont #options FILEASSOC # fileassoc(9) - required for Veriexec # Veriexec #pseudo-device veriexec # # Uncomment the fingerprint methods below that are desired. Note that # removing fingerprint methods will have almost no impact on the kernel # code size. # #options VERIFIED_EXEC_FP_RMD160 #options VERIFIED_EXEC_FP_SHA256 #options VERIFIED_EXEC_FP_SHA384 #options VERIFIED_EXEC_FP_SHA512 #options VERIFIED_EXEC_FP_SHA1 #options VERIFIED_EXEC_FP_MD5 options PAX_MPROTECT=0 # PaX mprotect(2) restrictions