Date: Wed, 23 Jan 2002 05:51:48 -0000 From: "Robin Breathe" <robin@isometry.net> To: <smp@freebsd.org> Cc: <questions@freebsd.org> Subject: RE: I/O APIC and Uniprocessor support Message-ID: <000401c1a3d2$0d8ba600$026ca8c0@ishadow> In-Reply-To: <3C4D7280.C379B9F2@svenskabutiker.se>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] Earlier I tried a kernel compile with both SMP and APIC, then enabled APIC mode in the bios (v1011 - 18/01/02). On boot, I get an immediate panic: panic: pmap_bootstrap: no local apic! mp_lock = 0000000c; cpuid = 0; lapic.id = 00000000 Uptime: 0s Any ideas? The APIC apparently works with Win 2k/XP in MPS Uniprocessor mode, so I think the fault must be with BSD's detection. Kernel config is attached. Also attached is the failed kernel compilation log from enabling APIC without SMP (I tried to send before, but it appears to have failed). Robin Breathe. -----Original Message----- From: owner-freebsd-smp@FreeBSD.ORG [mailto:owner-freebsd-smp@FreeBSD.ORG] On Behalf Of Martin Nilsson Sent: 22 January 2002 14:09 To: robin@isometry.net Cc: smp@freebsd.org Subject: Re: I/O APIC and Uniprocessor support Robin Breathe wrote: > > Hi, > > Reading up on 'option APIC', it seems that the intention of keeping it > distinct from 'option SMP' was to support future uniprocessor boards > that had this feature. Well that time has come ;) Yes, it is a PC2001 design requirement that the PC should be able to run in APIC mode. So all new motherboards will have this in the future. > The Asus TUSL2-C (based on Intel 815ep chipset, and others based on > this chipset I would guess) has supported APIC mode since bios > revision 1008 (07Aug2001), but nothing seems to have been done to > solidify support for I have a MSI K7T Turbo2 (Athlon KT133A) that have APIC mode as an option in BIOS. I can run a SMP kernel on it but not compile a kernel with just "options APIC_IO". It seems silly to run a SMP kernel just to get better interrupt sharing. > compilation with 'option APIC' and without 'option SMP'. I tried to > compile with -STABLE from yesterday, and got the a lot of errors > (attached). http://ftp.cvut.cz/Asus/mb/sock370/815ep/tusl2-c/index.txt > has the bios revisions, including the introduction of I/O APIC mode. > I have shared devices, and thus I think it would be great to get this > working. I would be delighted to help test this code out if anyone can > supply some patches to get it working. I took a look at the source files where APIC_IO was used but it seemed to be rather mixed up with options SMP and not that easy to sort out. I'l be happy to test patches, both on this machine and on dual PPro boxen (have one STABLE and one CURRENT). /Martin -- Martin Nilsson, Civilingenjr M.Sc. CS&E Svenska Butiker AB, S:t Larsvg 44, 222 70 Lund martin@svenskabutiker.se Tel: 046-304130 www.svenskabutiker.se To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message [-- Attachment #2 --] # # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.35 2001/09/27 17:43:06 alfred Exp $ machine i386 cpu I686_CPU ident QUADRIC maxusers 256 options NMBCLUSTERS=8192 options ROOTDEVNAME=\"ufs:da0s1a\" #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols #options MAXMEM=32768 #options DDB #options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking #options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options SOFTUPDATES #Enable FFS soft updates support options UFS_DIRHASH options MFS #Memory Filesystem #options MD_ROOT #MD is a potential root device #options NFS #Network Filesystem #options NFS_ROOT #NFS usable as root device, NFS required options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem #options CD9660_ROOT #CD-ROM usable as root, CD9660 required options PROCFS #Process filesystem #options SMBFS #SMB/CIFS filesystem options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=4000 #Delay (in ms) before probing SCSI options UCONSOLE #Allow users to grab the console options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING options _KPOSIX_VERSION=199309L #stuff for cdrdao options ICMP_BANDLIM #Rate limit bad replies options KBD_INSTALL_CDEV # install a CDEV entry in /dev options CPU_ENABLE_SSE #Enable SSE support # To make an SMP kernel, the next two are needed options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O device isa #device eisa device pci # Floppy drives #device fdc0 at isa? port IO_FD1 irq 6 drq 2 #device fd0 at fdc0 drive 0 #device fd1 at fdc0 drive 1 # # If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy, # don't use the above line for fdc0 but the following one: #device fdc0 # ATA and ATAPI devices device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15 device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID #Static device numbering # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices # SCSI peripherals device scbus # SCSI bus (required) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 flags 0x1 #device psm0 at atkbdc? irq 12 device vga0 at isa? # splash screen/screen saver pseudo-device splash # syscons is the default console driver, resembling an SCO console device sc0 at isa? flags 0x100 # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std # Floating point support - do not disable. device npx0 at nexus? port IO_NPX irq 13 # Power management support (see LINT for more options) device apm0 at nexus? disable flags 0x20 # Advanced Power Management # Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 options CONSPEED=115200 # Parallel port device ppc0 at isa? irq 7 device ppbus # Parallel port bus (required) device lpt # Printer #device plip # TCP/IP over parallel #device ppi # Parallel port interface device #device vpo # Requires scbus and da # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support #device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) #device wx # Intel Gigabit Ethernet Card (``Wiseman'') #device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') #device rl # Realtek shitty 8139 support # Pseudo devices - the number indicates how many units to allocate. pseudo-device loop # Network loopback pseudo-device ether # Ethernet support pseudo-device pty # Pseudo-ttys (telnet etc) pseudo-device md # Memory "disks" pseudo-device gif # IPv6 and IPv4 tunneling #pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation) pseudo-device vn # Vnode driver (turns a file into a device) #pseudo-device ccd 1 # Concatenated disk thingy # The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf #Berkeley packet filter # IPFilter support options IPFILTER #ipfilter support options IPFILTER_LOG #ipfilter logging # IPsec support options IPSEC # IP security options IPSEC_ESP # IP security (crypto; define w/IPSEC) # SMB support #options NETSMB # SMB/CIFS requester #options NETSMBCRYPTO # encrypted password support for SMB #options LIBMCHAIN # mbuf management library #options LIBICONV # Kernel side iconv library # USB support #device uhci # UHCI PCI->USB interface #device ohci # OHCI PCI->USB interface #device usb # USB Bus (required) #device ugen # Generic #device uhid # "Human Interface Devices" #device ukbd # Keyboard #device ulpt # Printer #device umass # Disks/Mass storage - Requires scbus and da #device ums # Mouse #device uscanner # Scanners #device urio # Diamond Rio MP3 Player [-- Attachment #3 --] EON<
