Date: Fri, 21 Apr 2000 13:31:46 +0200 From: sthaug@nethelp.no To: luoqi@watermarkgroup.com Cc: mihara@prd.fc.nec.co.jp, freebsd-smp@FreeBSD.ORG, smp@csn.net Subject: Re: Multiple APIC support (RE: Issues with Spankin' new Poweredge 4400 w/ dual 866's and 133MHz FSB?) Message-ID: <25146.956316706@verdi.nethelp.no> In-Reply-To: Your message of "Wed, 19 Apr 2000 23:19:01 -0400 (EDT)" References: <200004200319.XAA26909@lor.watermarkgroup.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> > Thank you for the patch, but applying your patch results in panic > > while booting, just after showing avail memory. Here is the boot log. > > (Even if second IO-APIC is disabled, the phenomenon is same.) > > > My fault, I made a mistake in the patch. Here's the correct one > (the offset should be added before typecasting), The pmap.c code looks somewhat different in 3.4-STABLE, and it wasn't obvious to me what the complete patch for 3.4-STABLE would be. However, I was trying to get an IBM Netfinity 5600 server to run SMP, and this box has both the two IOAPICs on page boundaries. Thus I was hoping I could get away with only fixing the typo you found: *** pmap.c.orig Sat Apr 1 23:58:17 2000 --- pmap.c Fri Apr 21 12:30:11 2000 *************** *** 434,440 **** for (j = 0; j < 16; j++) { /* same page frame as a previous IO apic? */ if (((vm_offset_t)SMP_prvpt[j + 16] & PG_FRAME) == ! (io_apic_address[0] & PG_FRAME)) { ioapic[i] = (ioapic_t *)&SMP_ioapic[j * PAGE_SIZE]; break; } --- 434,440 ---- for (j = 0; j < 16; j++) { /* same page frame as a previous IO apic? */ if (((vm_offset_t)SMP_prvpt[j + 16] & PG_FRAME) == ! (io_apic_address[i] & PG_FRAME)) { ioapic[i] = (ioapic_t *)&SMP_ioapic[j * PAGE_SIZE]; break; } and this does indeed seem to be the case. I'm now happily running SMP on this box. Steinar Haug, Nethelp consulting, sthaug@nethelp.no ---------------------------------------------------------------------- Copyright (c) 1992-1999 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.4-STABLE #0: Fri Apr 21 12:34:24 CEST 2000 sthaug@mail1.enitel.no:/local/freebsd/stable3/src/sys/compile/NF5600_SMP Timecounter "i8254" frequency 1193182 Hz CPU: Pentium III/Pentium III Xeon (599.72-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x681 Stepping = 1 Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,<b18>,MMX,FXSR,<b25>> real memory = 939524096 (917504K bytes) avail memory = 911634432 (890268K bytes) Programming 16 pins in IOAPIC #0 Programming 16 pins in IOAPIC #1 IOAPIC #1 intpint 0 -> irq 16 IOAPIC #1 intpint 2 -> irq 17 IOAPIC #1 intpint 3 -> irq 18 IOAPIC #1 intpint 4 -> irq 21 IOAPIC #1 intpint 5 -> irq 22 IOAPIC #1 intpint 6 -> irq 23 IOAPIC #1 intpint 7 -> irq -1 IOAPIC #1 intpint 8 -> irq -1 IOAPIC #1 intpint 9 -> irq -1 IOAPIC #1 intpint 10 -> irq -1 IOAPIC #1 intpint 11 -> irq 5 IOAPIC #1 intpint 12 -> irq 19 IOAPIC #1 intpint 13 -> irq 20 FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 1, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 14, version: 0x000f0011, at 0xfec00000 io1 (APIC): apic id: 15, version: 0x000f0011, at 0xfec01000 Preloaded elf kernel "kernel.smp" at 0xc02f5000. Pentium Pro MTRR support enabled Probing for devices on PCI bus 0: chip0: <RCC host to PCI bridge> rev 0x05 on pci0.0.0 chip1: <RCC host to PCI bridge> rev 0x05 on pci0.0.1 vga0: <S3 model 8904 graphics accelerator> rev 0x01 int a irq 255 on pci0.1.0 lnc1: <PCNet/PCI Ethernet adapter> rev 0x43 int a irq 5 on pci0.2.0 ahc0: <Adaptec 2940 Ultra2 SCSI adapter> rev 0x00 int a irq 16 on pci0.9.0 ahc0: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs chip2: <PCI to PCI bridge (vendor=1011 device=0024)> rev 0x03 on pci0.10.0 chip3: <PCI to ISA bridge (vendor=1166 device=0200)> rev 0x4f on pci0.15.0 Probing for devices on PCI bus 1: fxp0: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 17 on pci1.4.0 fxp0: Ethernet address 00:d0:b7:5f:b7:a8 fxp1: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 18 on pci1.5.0 fxp1: Ethernet address 00:d0:b7:5f:b7:a9 Probing for devices on PCI bus 2: ahc1: <Adaptec aic7896/97 Ultra2 SCSI adapter> rev 0x00 int a irq 19 on pci2.3.0 bogus MP table, 2 IO APIC pins connected to the same PCI device or ISA/EISA interrupt Registered extra interrupt handler for int 20 (in addition to int 19) ahc1: aic7896/97 Wide Channel A, SCSI Id=7, 16/255 SCBs ahc2: <Adaptec aic7896/97 Ultra2 SCSI adapter> rev 0x00 int a irq 19 on pci2.3.1 bogus MP table, 2 IO APIC pins connected to the same PCI device or ISA/EISA interrupt Registered extra interrupt handler for int 20 (in addition to int 19) ahc2: aic7896/97 Wide Channel B, SCSI Id=7, 16/255 SCBs ti0: <Netgear GA620 Gigabit Ethernet> rev 0x01 int a irq 21 on pci2.5.0 ti0: Ethernet address: 00:a0:cc:73:32:dd Probing for devices on PCI bus 3: Probing for devices on the ISA bus: sc0 on isa sc0: VGA color <16 virtual consoles, flags=0x0> atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa psm0 not found sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in lnc0 not found at 0x280 vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa npx0 on motherboard npx0: INT 16 interface APIC_IO: Testing 8254 interrupt delivery APIC_IO: Broken MP table detected: 8254 is not connected to IO APIC int pin 2 APIC_IO: routing 8254 via 8259 on pin 0 Waiting 3 seconds for SCSI devices to settle SMP: AP CPU #1 Launched! sa0 at ahc0 bus 0 target 0 lun 0 sa0: <SONY TSL-A500C L100> Removable Sequential Access SCSI-2 device sa0: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) pass1 at ahc0 bus 0 target 0 lun 1 pass1: <SONY TSL-A500C L100> Removable Changer SCSI-2 device pass1: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) pass4 at ahc1 bus 0 target 15 lun 0 pass4: <IBM LN V1.2Rack B004> Fixed Processor SCSI-2 device pass4: 3.300MB/s transfers changing root device to da0s1a da0 at ahc1 bus 0 target 0 lun 0 da0: <IBM-PSG ST39175LC !# 0350> Fixed Direct Access SCSI-2 device da0: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing Enabled da0: 8678MB (17774160 512 byte sectors: 255H 63S/T 1106C) da1 at ahc1 bus 0 target 1 lun 0 da1: <IBM-PSG ST39175LC !# 0350> Fixed Direct Access SCSI-2 device da1: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing Enabled da1: 8678MB (17774160 512 byte sectors: 255H 63S/T 1106C) cmd ntpd pid 132 tried to use non-present sched_get_priority_max cmd ntpd pid 132 tried to use non-present sched_setscheduler ti0: gigabit link up To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?25146.956316706>